Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 4 additions & 10 deletions packages/react-native/Libraries/Image/AssetRegistry.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,7 @@
* @format
*/

'use strict';

import type {PackagerAsset} from '@react-native/assets-registry/registry';

const AssetRegistry = require('@react-native/assets-registry/registry') as {
registerAsset: (asset: PackagerAsset) => number,
getAssetByID: (assetId: number) => PackagerAsset,
};

module.exports = AssetRegistry;
export {
registerAsset,
getAssetByID,
} from '@react-native/assets-registry/registry';
1 change: 1 addition & 0 deletions packages/react-native/Libraries/Image/RelativeImageStub.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,5 @@ const RelativeImageStub = (AssetRegistry.registerAsset({
type: 'png',
}): number);

// eslint-disable-next-line lint/no-commonjs-exports
module.exports = RelativeImageStub;
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
* @format
*/

'use strict';

const FlatList = require('../FlatList').default;
const React = require('react');

Expand All @@ -21,98 +19,96 @@ function renderMyListItem(info: {
return <span />;
}

module.exports = {
testEverythingIsFine(): React.Node {
const data = [
{
title: 'Title Text',
key: 1,
},
];
return <FlatList renderItem={renderMyListItem} data={data} />;
},
export function testEverythingIsFine(): React.Node {
const data = [
{
title: 'Title Text',
key: 1,
},
];
return <FlatList renderItem={renderMyListItem} data={data} />;
}

testBadDataWithTypicalItem(): React.Node {
const data = [
{
title: 6,
key: 1,
},
];
// $FlowExpectedError - bad title type 6, should be string
return <FlatList renderItem={renderMyListItem} data={data} />;
},
export function testBadDataWithTypicalItem(): React.Node {
const data = [
{
title: 6,
key: 1,
},
];
// $FlowExpectedError - bad title type 6, should be string
return <FlatList renderItem={renderMyListItem} data={data} />;
}

testMissingFieldWithTypicalItem(): React.Node {
const data = [
{
key: 1,
},
];
// $FlowExpectedError - missing title
return <FlatList renderItem={renderMyListItem} data={data} />;
},
export function testMissingFieldWithTypicalItem(): React.Node {
const data = [
{
key: 1,
},
];
// $FlowExpectedError - missing title
return <FlatList renderItem={renderMyListItem} data={data} />;
}

testGoodDataWithBadCustomRenderItemFunction(): React.Node {
const data = [
{
widget: 6,
key: 1,
},
];
return (
<FlatList
renderItem={info => (
<span>
{
// $FlowExpectedError - bad widgetCount type 6, should be Object
info.item.widget.missingProp
}
</span>
)}
data={data}
/>
);
},
export function testGoodDataWithBadCustomRenderItemFunction(): React.Node {
const data = [
{
widget: 6,
key: 1,
},
];
return (
<FlatList
renderItem={info => (
<span>
{
// $FlowExpectedError - bad widgetCount type 6, should be Object
info.item.widget.missingProp
}
</span>
)}
data={data}
/>
);
}

testBadRenderItemFunction(): $ReadOnlyArray<React.Node> {
const data = [
{
title: 'foo',
key: 1,
},
];
return [
// $FlowExpectedError - title should be inside `item`
<FlatList renderItem={(info: {title: string}) => <span />} data={data} />,
<FlatList
// $FlowExpectedError - bad index type string, should be number
renderItem={(info: {item: any, index: string}) => <span />}
data={data}
/>,
<FlatList
// $FlowExpectedError - bad title type number, should be string
renderItem={(info: {item: {title: number}}) => <span />}
// $FlowExpectedError - bad title type number, should be string
data={data}
/>,
// EverythingIsFine
<FlatList
// $FlowExpectedError - bad title type number, should be string
renderItem={(info: {item: {title: string, ...}, ...}) => <span />}
data={data}
/>,
];
},
export function testBadRenderItemFunction(): $ReadOnlyArray<React.Node> {
const data = [
{
title: 'foo',
key: 1,
},
];
return [
// $FlowExpectedError - title should be inside `item`
<FlatList renderItem={(info: {title: string}) => <span />} data={data} />,
<FlatList
// $FlowExpectedError - bad index type string, should be number
renderItem={(info: {item: any, index: string}) => <span />}
data={data}
/>,
<FlatList
// $FlowExpectedError - bad title type number, should be string
renderItem={(info: {item: {title: number}}) => <span />}
// $FlowExpectedError - bad title type number, should be string
data={data}
/>,
// EverythingIsFine
<FlatList
// $FlowExpectedError - bad title type number, should be string
renderItem={(info: {item: {title: string, ...}, ...}) => <span />}
data={data}
/>,
];
}

testOtherBadProps(): $ReadOnlyArray<React.Node> {
return [
// $FlowExpectedError - bad numColumns type "lots"
<FlatList renderItem={renderMyListItem} data={[]} numColumns="lots" />,
// $FlowExpectedError - bad windowSize type "big"
<FlatList renderItem={renderMyListItem} data={[]} windowSize="big" />,
// $FlowExpectedError - missing `data` prop
<FlatList renderItem={renderMyListItem} />,
];
},
};
export function testOtherBadProps(): $ReadOnlyArray<React.Node> {
return [
// $FlowExpectedError - bad numColumns type "lots"
<FlatList renderItem={renderMyListItem} data={[]} numColumns="lots" />,
// $FlowExpectedError - bad windowSize type "big"
<FlatList renderItem={renderMyListItem} data={[]} windowSize="big" />,
// $FlowExpectedError - missing `data` prop
<FlatList renderItem={renderMyListItem} />,
];
}
Loading
Loading