Skip to content

Commit 83f298c

Browse files
authored
Gracefully handle non-array inputs in 'data' prop (#721)
* Gracefully handle non-array inputs in 'data' prop * v48.3.1
1 parent 70b18af commit 83f298c

File tree

10 files changed

+17
-14
lines changed

10 files changed

+17
-14
lines changed

example/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@draftbit/example",
33
"description": "Example app for @draftbit/ui",
4-
"version": "48.3.0",
4+
"version": "48.3.1",
55
"private": true,
66
"main": "__generated__/AppEntry.js",
77
"scripts": {
@@ -16,8 +16,8 @@
1616
"clean:modules": "rimraf node_modules"
1717
},
1818
"dependencies": {
19-
"@draftbit/maps": "48.3.0",
20-
"@draftbit/ui": "48.3.0",
19+
"@draftbit/maps": "48.3.1",
20+
"@draftbit/ui": "48.3.1",
2121
"@expo/dev-server": "0.1.123",
2222
"@expo/webpack-config": "^18.0.1",
2323
"@react-navigation/drawer": "^5.12.9",

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": "48.3.0",
2+
"version": "48.3.1",
33
"npmClient": "yarn",
44
"useWorkspaces": true,
55
"packages": ["packages/*", "example"],

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@draftbit/core",
3-
"version": "48.3.0",
3+
"version": "48.3.1",
44
"description": "Core (non-native) Components",
55
"main": "lib/commonjs/index.js",
66
"types": "lib/typescript/src/index.d.ts",

packages/core/src/components/DeckSwiper/DeckSwiper.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ const DeckSwiper = <T extends object>({
7070
[childrenArray]
7171
);
7272

73-
const cardsData = data || cardsFillerData;
73+
const cardsData = Array.isArray(data) ? data : cardsFillerData;
7474

7575
const renderCard = (card: any, index: number): JSX.Element => {
7676
if (renderItem) {

packages/core/src/components/SectionList/SectionList.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ const SectionList = <T extends { [key: string]: any }>({
4545
renderItem: renderItemProp,
4646
...rest
4747
}: FlatListSectionListProps<T> | FlashListSectionListProps<T>) => {
48-
const data = React.useMemo(() => (dataProp || []) as T[], [dataProp]);
48+
const data = React.useMemo(
49+
() => (Array.isArray(dataProp) ? dataProp : []) as T[],
50+
[dataProp]
51+
);
4952

5053
const dataWithSections = React.useMemo(() => {
5154
const result: SectionListItem<T>[] = [];

packages/core/src/components/Swiper/Swiper.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ const Swiper = ({
7474

7575
const children: React.ReactNode = React.useMemo(
7676
() =>
77-
data && renderItem
77+
Array.isArray(data) && renderItem
7878
? data.map((item, index) => {
7979
const component = renderItem({ item, index });
8080

packages/core/src/components/Table/Table.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ const Table = <T extends object>({
5959
return object.isTableHeader;
6060
}, []);
6161

62-
const isRenderItem = data && renderItem;
62+
const isRenderItem = Array.isArray(data) && renderItem;
6363

6464
//Uses 'renderItem' and 'data' to create an array of children
6565
const dataAsChildren = React.useMemo(() => {

packages/maps/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@draftbit/maps",
3-
"version": "48.3.0",
3+
"version": "48.3.1",
44
"description": "Map Components",
55
"main": "lib/commonjs/index.js",
66
"types": "lib/typescript/src/index.d.ts",
@@ -39,7 +39,7 @@
3939
},
4040
"homepage": "https://github.com/draftbit/react-native-jigsaw#readme",
4141
"dependencies": {
42-
"@draftbit/ui": "48.3.0",
42+
"@draftbit/ui": "48.3.1",
4343
"@teovilla/react-native-web-maps": "^0.9.1",
4444
"react-native-maps": "1.3.2"
4545
},

packages/maps/src/components/MapView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class MapView<T> extends React.Component<
7878
private getChildrenForType(type: React.ElementType): React.ReactElement[] {
7979
const { markersData, renderItem, keyExtractor, children } = this.props;
8080

81-
if (markersData && renderItem) {
81+
if (Array.isArray(markersData) && renderItem) {
8282
const markers: React.ReactElement[] = [];
8383

8484
markersData.forEach((item, index) => {

packages/ui/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@draftbit/ui",
3-
"version": "48.3.0",
3+
"version": "48.3.1",
44
"description": "Draftbit UI Library",
55
"main": "lib/commonjs/index.js",
66
"types": "lib/typescript/src/index.d.ts",
@@ -43,7 +43,7 @@
4343
},
4444
"homepage": "https://github.com/draftbit/react-native-jigsaw#readme",
4545
"dependencies": {
46-
"@draftbit/core": "48.3.0",
46+
"@draftbit/core": "48.3.1",
4747
"@draftbit/native": "48.3.0",
4848
"react-native-reanimated": "~2.14.4"
4949
},

0 commit comments

Comments
 (0)