From ebc596759483f6923fc9830bc5af66cddcd328c8 Mon Sep 17 00:00:00 2001 From: Bobby Wang Date: Sat, 7 Jan 2023 02:03:18 +1300 Subject: [PATCH] null check on .some functions --- src/atoms/projectScope/project.ts | 2 +- .../TableModals/ImportAirtableWizard/ImportAirtableWizard.tsx | 2 +- .../TableModals/ImportCsvWizard/ImportCsvWizard.tsx | 2 +- src/components/TableTutorial/Steps/Step2Add.tsx | 2 +- src/components/fields/Connector/Select/PopupContents.tsx | 4 +++- src/hooks/useFirestoreDocWithAtom.ts | 2 +- src/sources/ProjectSourceFirebase/useTableFunctions.ts | 2 +- 7 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/atoms/projectScope/project.ts b/src/atoms/projectScope/project.ts index 0d9518ac..1e9cf1bd 100644 --- a/src/atoms/projectScope/project.ts +++ b/src/atoms/projectScope/project.ts @@ -48,7 +48,7 @@ export const tablesAtom = atom((get) => { return sortBy(tables, "name") .filter((table) => userRoles.includes("ADMIN") || Array.isArray(table.roles) - ? table.roles.some((role) => userRoles.includes(role)) + ? table.roles?.some((role) => userRoles.includes(role)) : false ) .map((table) => ({ diff --git a/src/components/TableModals/ImportAirtableWizard/ImportAirtableWizard.tsx b/src/components/TableModals/ImportAirtableWizard/ImportAirtableWizard.tsx index afe95479..7a6cee3f 100644 --- a/src/components/TableModals/ImportAirtableWizard/ImportAirtableWizard.tsx +++ b/src/components/TableModals/ImportAirtableWizard/ImportAirtableWizard.tsx @@ -72,7 +72,7 @@ export default function ImportAirtableWizard({ onClose }: ITableModalProps) { const newColumns = uniqBy( [...prev.newColumns, ...(value.newColumns ?? [])], "key" - ).filter((col) => pairs.some((pair) => pair.columnKey === col.key)); + ).filter((col) => pairs?.some((pair) => pair.columnKey === col.key)); return { ...prev, pairs, newColumns }; }); }, []); diff --git a/src/components/TableModals/ImportCsvWizard/ImportCsvWizard.tsx b/src/components/TableModals/ImportCsvWizard/ImportCsvWizard.tsx index ac67337e..b40e0e8c 100644 --- a/src/components/TableModals/ImportCsvWizard/ImportCsvWizard.tsx +++ b/src/components/TableModals/ImportCsvWizard/ImportCsvWizard.tsx @@ -80,7 +80,7 @@ export default function ImportCsvWizard({ onClose }: ITableModalProps) { const newColumns = uniqBy( [...prev.newColumns, ...(value.newColumns ?? [])], "key" - ).filter((col) => pairs.some((pair) => pair.columnKey === col.key)); + ).filter((col) => pairs?.some((pair) => pair.columnKey === col.key)); return { ...prev, pairs, newColumns }; }); diff --git a/src/components/TableTutorial/Steps/Step2Add.tsx b/src/components/TableTutorial/Steps/Step2Add.tsx index 5e6d9dbe..9c9024d5 100644 --- a/src/components/TableTutorial/Steps/Step2Add.tsx +++ b/src/components/TableTutorial/Steps/Step2Add.tsx @@ -44,7 +44,7 @@ function StepComponent({ setComplete }: ITableTutorialStepComponentProps) { const [tableColumnsOrdered] = useAtom(tableColumnsOrderedAtom, tableScope); useEffect(() => { if ( - tableColumnsOrdered.some( + tableColumnsOrdered?.some( (c) => c.type === FieldType.rating && c.name.toLowerCase().includes("rating") ) diff --git a/src/components/fields/Connector/Select/PopupContents.tsx b/src/components/fields/Connector/Select/PopupContents.tsx index 941418c7..0bd770cb 100644 --- a/src/components/fields/Connector/Select/PopupContents.tsx +++ b/src/components/fields/Connector/Select/PopupContents.tsx @@ -127,7 +127,9 @@ export default function PopupContents({ {hits.map((hit) => { - const isSelected = selectedValues.some((v) => v === hit[elementId]); + const isSelected = selectedValues?.some( + (v) => v === hit[elementId] + ); return ( ( path: string | undefined, pathSegments?: Array ) => { - if (!path || (Array.isArray(pathSegments) && pathSegments.some((x) => !x))) + if (!path || (Array.isArray(pathSegments) && pathSegments?.some((x) => !x))) return null; return doc( diff --git a/src/sources/ProjectSourceFirebase/useTableFunctions.ts b/src/sources/ProjectSourceFirebase/useTableFunctions.ts index ab6fb4ef..6c6effa6 100644 --- a/src/sources/ProjectSourceFirebase/useTableFunctions.ts +++ b/src/sources/ProjectSourceFirebase/useTableFunctions.ts @@ -84,7 +84,7 @@ export function useTableFunctions() { if ( checked && // Make sure we don’t have - !Object.values(columns).some((column) => column.type === type) + !Object.values(columns)?.some((column) => column.type === type) ) columns["_" + camelCase(type)] = { type,