TWNTY-3794 - ESLint rule: only take explicit boolean predicates in if statements (#4354)

* ESLint rule: only take explicit boolean predicates in if statements

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Merge main

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Fix frontend linter errors

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Fix jest

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Refactor according to review

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

* Fix lint on new code

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br>
This commit is contained in:
gitstart-app[bot]
2024-03-09 10:48:19 +01:00
committed by GitHub
parent 40bea0d95e
commit 17511be0cf
164 changed files with 655 additions and 367 deletions

View File

@ -1,6 +1,7 @@
import { useMemo } from 'react';
import { useParams, useSearchParams } from 'react-router-dom';
import { useApolloClient } from '@apollo/client';
import { isNonEmptyString } from '@sniptt/guards';
import qs from 'qs';
import { useRecoilCallback } from 'recoil';
import z from 'zod';
@ -15,6 +16,7 @@ import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { ViewFilter } from '@/views/types/ViewFilter';
import { ViewFilterOperand } from '@/views/types/ViewFilterOperand';
import { isNonNullable } from '~/utils/isNonNullable';
import { isNullable } from '~/utils/isNullable';
const filterQueryParamsSchema = z.object({
filter: z.record(
@ -69,7 +71,7 @@ export const useFiltersFromQueryParams = () => {
field: fieldMetadataItem,
});
if (!filterDefinition) return null;
if (isNullable(filterDefinition)) return null;
const relationObjectMetadataNameSingular =
fieldMetadataItem.toRelationMetadata?.fromObjectMetadata
@ -94,8 +96,8 @@ export const useFiltersFromQueryParams = () => {
const relationRecordNames = [];
if (
relationObjectMetadataNamePlural &&
relationObjectMetadataItem &&
isNonEmptyString(relationObjectMetadataNamePlural) &&
isNonNullable(relationObjectMetadataItem) &&
Array.isArray(filterValueFromURL)
) {
const queryResult = await apolloClient.query<

View File

@ -8,6 +8,7 @@ import { Sort } from '@/object-record/object-sort-dropdown/types/Sort';
import { savedViewSortsScopedFamilyState } from '@/views/states/savedViewSortsScopedFamilyState';
import { ViewSort } from '@/views/types/ViewSort';
import { getViewScopedStateValuesFromSnapshot } from '@/views/utils/getViewScopedStateValuesFromSnapshot';
import { isNullable } from '~/utils/isNullable';
import { useViewScopedStates } from './useViewScopedStates';
@ -42,7 +43,7 @@ export const useViewSorts = (viewScopeId: string) => {
return;
}
if (!currentViewSorts) {
if (isNullable(currentViewSorts)) {
return;
}
if (!savedViewSortsByKey) {

View File

@ -1,5 +1,6 @@
import { useCallback } from 'react';
import { useSearchParams } from 'react-router-dom';
import { isNonEmptyString } from '@sniptt/guards';
import { useRecoilCallback, useRecoilState, useSetRecoilState } from 'recoil';
import { v4 } from 'uuid';
@ -9,6 +10,7 @@ import { ViewFilter } from '@/views/types/ViewFilter';
import { ViewSort } from '@/views/types/ViewSort';
import { isDeeplyEqual } from '~/utils/isDeeplyEqual';
import { isNonNullable } from '~/utils/isNonNullable';
import { isNullable } from '~/utils/isNullable';
import { ViewScopeInternalContext } from '../scopes/scope-internal-context/ViewScopeInternalContext';
import { currentViewFieldsScopedFamilyState } from '../states/currentViewFieldsScopedFamilyState';
@ -112,7 +114,7 @@ export const useViewBar = (props?: UseViewProps) => {
viewId: currentViewId,
});
if (!availableFieldDefinitions) {
if (isNullable(availableFieldDefinitions)) {
return;
}
@ -152,7 +154,7 @@ export const useViewBar = (props?: UseViewProps) => {
viewId: currentViewId,
});
if (!availableFilterDefinitions) {
if (isNullable(availableFilterDefinitions)) {
return;
}
@ -267,11 +269,11 @@ export const useViewBar = (props?: UseViewProps) => {
viewScopeId: scopeId,
});
if (savedViewFilters) {
if (isNonNullable(savedViewFilters)) {
set(currentViewFiltersState, savedViewFilters);
onViewFiltersChange?.(savedViewFilters);
}
if (savedViewSorts) {
if (isNonNullable(savedViewSorts)) {
set(currentViewSortsState, savedViewSorts);
onViewSortsChange?.(savedViewSorts);
}
@ -388,7 +390,7 @@ export const useViewBar = (props?: UseViewProps) => {
return;
}
if (viewEditMode === 'create' && name) {
if (viewEditMode === 'create' && isNonEmptyString(name)) {
await createView(name);
// Temporary to force refetch