Renamed nullable utils into isDefined and isUndefinedOrNull (#4402)

* Renamed nullable utils into isDefined and isUndefinedOrNull
This commit is contained in:
Lucas Bordeau
2024-03-11 14:28:57 +01:00
committed by GitHub
parent 3f15cc5b7a
commit 581dfafe11
169 changed files with 469 additions and 493 deletions

View File

@ -5,7 +5,7 @@ import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadat
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery';
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
import { capitalize } from '~/utils/string/capitalize';
export const useGetRecordFromCache = ({
@ -21,7 +21,7 @@ export const useGetRecordFromCache = ({
recordId: string,
cache = apolloClient.cache,
) => {
if (isNullable(objectMetadataItem)) {
if (isUndefinedOrNull(objectMetadataItem)) {
return null;
}

View File

@ -3,7 +3,7 @@ import { Modifiers } from '@apollo/client/cache';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
import { capitalize } from '~/utils/string/capitalize';
export const useModifyRecordFromCache = ({
@ -17,7 +17,7 @@ export const useModifyRecordFromCache = ({
recordId: string,
fieldModifiers: Modifiers<CachedObjectRecord>,
) => {
if (isNullable(objectMetadataItem)) return;
if (isUndefinedOrNull(objectMetadataItem)) return;
const cachedRecordId = cache.identify({
__typename: capitalize(objectMetadataItem.nameSingular),

View File

@ -6,7 +6,7 @@ import { useGenerateFindManyRecordsQuery } from '@/object-record/hooks/useGenera
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { ObjectRecordQueryResult } from '@/object-record/types/ObjectRecordQueryResult';
import { ObjectRecordQueryVariables } from '@/object-record/types/ObjectRecordQueryVariables';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const useReadFindManyRecordsQueryInCache = ({
objectMetadataItem,
@ -38,7 +38,7 @@ export const useReadFindManyRecordsQueryInCache = ({
const existingRecordConnection =
existingRecordsQueryResult?.[objectMetadataItem.namePlural];
const existingObjectRecords = isNonNullable(existingRecordConnection)
const existingObjectRecords = isDefined(existingRecordConnection)
? getRecordsFromRecordConnection({
recordConnection: existingRecordConnection,
})

View File

@ -13,7 +13,7 @@ import {
import { useMapConnectionToRecords } from '@/object-record/hooks/useMapConnectionToRecords';
import { Person } from '@/people/types/Person';
import { getJestHookWrapper } from '~/testing/jest/getJestHookWrapper';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
const Wrapper = getJestHookWrapper({
apolloMocks: [],
@ -184,7 +184,7 @@ describe('useMapConnectionToRecords', () => {
expect(isNonEmptyArray(peopleResult)).toBe(true);
expect(firstPersonResult.id).toBe(firstPersonMock.id);
expect(isNonNullable(firstPersonsCompanyresult)).toBe(true);
expect(isDefined(firstPersonsCompanyresult)).toBe(true);
expect(firstPersonsCompanyresult.id).toEqual(firstPersonsCompanyMock.id);
});
});

View File

@ -5,7 +5,7 @@ import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMeta
import { useAddRecordInCache } from '@/object-record/cache/hooks/useAddRecordInCache';
import { useGenerateObjectRecordOptimisticResponse } from '@/object-record/cache/hooks/useGenerateObjectRecordOptimisticResponse';
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const useCreateManyRecordsInCache = <T extends ObjectRecord>({
objectNameSingular,
@ -35,7 +35,7 @@ export const useCreateManyRecordsInCache = <T extends ObjectRecord>({
const generatedCachedObjectRecord =
generateObjectRecordOptimisticResponse<T>(record);
if (isNonNullable(generatedCachedObjectRecord)) {
if (isDefined(generatedCachedObjectRecord)) {
addRecordInCache(generatedCachedObjectRecord);
createdRecordsInCache.push(generatedCachedObjectRecord);

View File

@ -4,7 +4,7 @@ import { triggerDeleteRecordsOptimisticEffect } from '@/apollo/optimistic-effect
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { useObjectMetadataItems } from '@/object-metadata/hooks/useObjectMetadataItems';
import { getDeleteManyRecordsMutationResponseField } from '@/object-record/hooks/useGenerateDeleteManyRecordMutation';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { capitalize } from '~/utils/string/capitalize';
type useDeleteOneRecordProps = {
@ -56,7 +56,7 @@ export const useDeleteManyRecords = ({
const cachedRecords = records
.map((record) => getRecordFromCache(record.id, cache))
.filter(isNonNullable);
.filter(isDefined);
triggerDeleteRecordsOptimisticEffect({
cache,

View File

@ -14,7 +14,7 @@ import { ObjectRecordEdge } from '@/object-record/types/ObjectRecordEdge';
import { ObjectRecordQueryVariables } from '@/object-record/types/ObjectRecordQueryVariables';
import { filterUniqueRecordEdgesByCursor } from '@/object-record/utils/filterUniqueRecordEdgesByCursor';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { logError } from '~/utils/logError';
import { capitalize } from '~/utils/string/capitalize';
@ -85,7 +85,7 @@ export const useFindManyRecords = <T extends ObjectRecord = ObjectRecord>({
onCompleted?.(data[objectMetadataItem.namePlural], pageInfo);
if (isNonNullable(data?.[objectMetadataItem.namePlural])) {
if (isDefined(data?.[objectMetadataItem.namePlural])) {
setLastCursor(pageInfo.endCursor ?? '');
setHasNextPage(pageInfo.hasNextPage ?? false);
}
@ -132,7 +132,7 @@ export const useFindManyRecords = <T extends ObjectRecord = ObjectRecord>({
const pageInfo =
fetchMoreResult?.[objectMetadataItem.namePlural]?.pageInfo;
if (isNonNullable(data?.[objectMetadataItem.namePlural])) {
if (isDefined(data?.[objectMetadataItem.namePlural])) {
setLastCursor(pageInfo.endCursor ?? '');
setHasNextPage(pageInfo.hasNextPage ?? false);
}

View File

@ -5,7 +5,7 @@ import { EMPTY_MUTATION } from '@/object-metadata/hooks/useObjectMetadataItem';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
import { capitalize } from '~/utils/string/capitalize';
export const getCreateManyRecordsMutationResponseField = (
@ -19,7 +19,7 @@ export const useGenerateCreateManyRecordMutation = ({
}) => {
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
if (isNullable(objectMetadataItem)) {
if (isUndefinedOrNull(objectMetadataItem)) {
return EMPTY_MUTATION;
}

View File

@ -5,7 +5,7 @@ import { EMPTY_MUTATION } from '@/object-metadata/hooks/useObjectMetadataItem';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
import { capitalize } from '~/utils/string/capitalize';
export const getCreateOneRecordMutationResponseField = (
@ -19,7 +19,7 @@ export const useGenerateCreateOneRecordMutation = ({
}) => {
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
if (isNullable(objectMetadataItem)) {
if (isUndefinedOrNull(objectMetadataItem)) {
return EMPTY_MUTATION;
}

View File

@ -2,7 +2,7 @@ import { gql } from '@apollo/client';
import { EMPTY_MUTATION } from '@/object-metadata/hooks/useObjectMetadataItem';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
import { capitalize } from '~/utils/string/capitalize';
export const getDeleteManyRecordsMutationResponseField = (
@ -14,7 +14,7 @@ export const useGenerateDeleteManyRecordMutation = ({
}: {
objectMetadataItem: ObjectMetadataItem;
}) => {
if (isNullable(objectMetadataItem)) {
if (isUndefinedOrNull(objectMetadataItem)) {
return EMPTY_MUTATION;
}

View File

@ -5,7 +5,7 @@ import { EMPTY_MUTATION } from '@/object-metadata/hooks/useObjectMetadataItem';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
import { capitalize } from '~/utils/string/capitalize';
export const getExecuteQuickActionOnOneRecordMutationGraphQLField = ({
@ -23,7 +23,7 @@ export const useGenerateExecuteQuickActionOnOneRecordMutation = ({
}) => {
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
if (isNullable(objectMetadataItem)) {
if (isUndefinedOrNull(objectMetadataItem)) {
return EMPTY_MUTATION;
}

View File

@ -5,7 +5,7 @@ import { EMPTY_MUTATION } from '@/object-metadata/hooks/useObjectMetadataItem';
import { objectMetadataItemsState } from '@/object-metadata/states/objectMetadataItemsState';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { mapObjectMetadataToGraphQLQuery } from '@/object-metadata/utils/mapObjectMetadataToGraphQLQuery';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
import { capitalize } from '~/utils/string/capitalize';
export const getUpdateOneRecordMutationResponseField = (
@ -19,7 +19,7 @@ export const useGenerateUpdateOneRecordMutation = ({
}) => {
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
if (isNullable(objectMetadataItem)) {
if (isUndefinedOrNull(objectMetadataItem)) {
return EMPTY_MUTATION;
}

View File

@ -8,7 +8,7 @@ import { parseFieldRelationType } from '@/object-metadata/utils/parseFieldRelati
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { ObjectRecordConnection } from '@/object-record/types/ObjectRecordConnection';
import { FieldMetadataType } from '~/generated/graphql';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const useMapConnectionToRecords = () => {
const objectMetadataItems = useRecoilValue(objectMetadataItemsState());
@ -26,7 +26,7 @@ export const useMapConnectionToRecords = () => {
depth: number;
}): ObjectRecord[] => {
if (
!isNonNullable(objectRecordConnection) ||
!isDefined(objectRecordConnection) ||
!isNonEmptyArray(objectMetadataItems)
) {
return [];
@ -79,7 +79,7 @@ export const useMapConnectionToRecords = () => {
if (
!relationFieldMetadataItem ||
!isNonNullable(relatedObjectMetadataSingularName)
!isDefined(relatedObjectMetadataSingularName)
) {
throw new Error(
`Could not find relation object metadata item for object name plural ${relationField.name} in mapConnectionToRecords`,
@ -90,7 +90,7 @@ export const useMapConnectionToRecords = () => {
relationField.name
] as ObjectRecordConnection | undefined | null;
if (!isNonNullable(relationConnection)) {
if (!isDefined(relationConnection)) {
continue;
}

View File

@ -1,6 +1,6 @@
import { useFilterDropdown } from '@/object-record/object-filter-dropdown/hooks/useFilterDropdown';
import { InternalDatePicker } from '@/ui/input/components/internal/date/components/InternalDatePicker';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const ObjectFilterDropdownDateInput = () => {
const {
@ -15,9 +15,9 @@ export const ObjectFilterDropdownDateInput = () => {
selectFilter?.({
fieldMetadataId: filterDefinitionUsedInDropdown.fieldMetadataId,
value: isNonNullable(date) ? date.toISOString() : '',
value: isDefined(date) ? date.toISOString() : '',
operand: selectedOperandInDropdown,
displayValue: isNonNullable(date) ? date.toLocaleString() : '',
displayValue: isDefined(date) ? date.toLocaleString() : '',
definition: filterDefinitionUsedInDropdown,
});

View File

@ -2,7 +2,7 @@ import { useFilterDropdown } from '@/object-record/object-filter-dropdown/hooks/
import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer';
import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem';
import { ViewFilterOperand } from '@/views/types/ViewFilterOperand';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { getOperandLabel } from '../utils/getOperandLabel';
import { getOperandsForFilterType } from '../utils/getOperandsForFilterType';
@ -26,8 +26,8 @@ export const ObjectFilterDropdownOperandSelect = () => {
setIsObjectFilterDropdownOperandSelectUnfolded(false);
if (
isNonNullable(filterDefinitionUsedInDropdown) &&
isNonNullable(selectedFilter)
isDefined(filterDefinitionUsedInDropdown) &&
isDefined(selectedFilter)
) {
selectFilter?.({
fieldMetadataId: selectedFilter.fieldMetadataId,

View File

@ -5,7 +5,7 @@ import { FieldMetadataItemOption } from '@/object-metadata/types/FieldMetadataIt
import { useFilterDropdown } from '@/object-record/object-filter-dropdown/hooks/useFilterDropdown';
import { useOptionsForSelect } from '@/object-record/object-filter-dropdown/hooks/useOptionsForSelect';
import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const EMPTY_FILTER_VALUE = '';
export const MAX_OPTIONS_TO_DISPLAY = 3;
@ -32,7 +32,7 @@ export const ObjectFilterDropdownOptionSelect = () => {
>([]);
useEffect(() => {
if (isNonNullable(selectOptions)) {
if (isDefined(selectOptions)) {
const options = selectOptions.map((option) => {
const isSelected =
objectFilterDropdownSelectedOptionValues?.includes(option.value) ??
@ -72,8 +72,8 @@ export const ObjectFilterDropdownOptionSelect = () => {
: selectedOptions.map((option) => option.label).join(', ');
if (
isNonNullable(filterDefinitionUsedInDropdown) &&
isNonNullable(selectedOperandInDropdown)
isDefined(filterDefinitionUsedInDropdown) &&
isDefined(selectedOperandInDropdown)
) {
const newFilterValue =
selectedOptions.length > 0

View File

@ -2,7 +2,7 @@ import { useFilterDropdown } from '@/object-record/object-filter-dropdown/hooks/
import { MultipleRecordSelectDropdown } from '@/object-record/select/components/MultipleRecordSelectDropdown';
import { useRecordsForSelect } from '@/object-record/select/hooks/useRecordsForSelect';
import { SelectableRecord } from '@/object-record/select/types/SelectableRecord';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const EMPTY_FILTER_VALUE = '[]';
export const MAX_RECORDS_TO_DISPLAY = 3;
@ -68,8 +68,8 @@ export const ObjectFilterDropdownRecordSelect = () => {
: selectedRecordNames.join(', ');
if (
isNonNullable(filterDefinitionUsedInDropdown) &&
isNonNullable(selectedOperandInDropdown)
isDefined(filterDefinitionUsedInDropdown) &&
isDefined(selectedOperandInDropdown)
) {
const newFilterValue =
newSelectedRecordIds.length > 0

View File

@ -2,7 +2,7 @@ import { OrderBy } from '@/object-metadata/types/OrderBy';
import { OrderByField } from '@/object-metadata/types/OrderByField';
import { Field } from '~/generated/graphql';
import { mapArrayToObject } from '~/utils/array/mapArrayToObject';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
import { Sort } from '../types/Sort';
@ -15,7 +15,7 @@ export const turnSortsIntoOrderBy = (
sorts.map((sort) => {
const correspondingField = fieldsById[sort.fieldMetadataId];
if (isNullable(correspondingField)) {
if (isUndefinedOrNull(correspondingField)) {
throw new Error(
`Could not find field ${sort.fieldMetadataId} in metadata object`,
);

View File

@ -19,7 +19,7 @@ import { actionBarEntriesState } from '@/ui/navigation/action-bar/states/actionB
import { contextMenuEntriesState } from '@/ui/navigation/context-menu/states/contextMenuEntriesState';
import { ContextMenuEntry } from '@/ui/navigation/context-menu/types/ContextMenuEntry';
import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
type useRecordActionBarProps = {
objectMetadataItem: ObjectMetadataItem;
@ -63,7 +63,7 @@ export const useRecordActionBar = ({
if (isFavorite) {
deleteFavorite(foundFavorite.id);
} else if (isNonNullable(selectedRecord)) {
} else if (isDefined(selectedRecord)) {
createFavorite(selectedRecord, objectMetadataItem.nameSingular);
}
callback?.();

View File

@ -7,7 +7,7 @@ import { recordBoardColumnsComponentFamilyState } from '@/object-record/record-b
import { RecordBoardColumnDefinition } from '@/object-record/record-board/types/RecordBoardColumnDefinition';
import { guardRecoilDefaultValue } from '@/ui/utilities/recoil-scope/utils/guardRecoilDefaultValue';
import { createComponentFamilySelector } from '@/ui/utilities/state/component-state/utils/createComponentFamilySelector';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const recordBoardColumnsComponentFamilySelector =
createComponentFamilySelector<
@ -61,7 +61,7 @@ export const recordBoardColumnsComponentFamilySelector =
}),
);
})
.filter(isNonNullable);
.filter(isDefined);
const lastColumn = [...columns].sort(
(a, b) => b.position - a.position,

View File

@ -3,7 +3,7 @@ import { useContext } from 'react';
import { isFieldRelation } from '@/object-record/record-field/types/guards/isFieldRelation';
import { IconPencil } from '@/ui/display/icon';
import { IconComponent } from '@/ui/display/icon/types/IconComponent';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
import { FieldContext } from '../contexts/FieldContext';
import { isFieldEmail } from '../types/guards/isFieldEmail';
@ -13,7 +13,7 @@ import { isFieldPhone } from '../types/guards/isFieldPhone';
export const useGetButtonIcon = (): IconComponent | undefined => {
const { fieldDefinition } = useContext(FieldContext);
if (isNullable(fieldDefinition)) return undefined;
if (isUndefinedOrNull(fieldDefinition)) return undefined;
if (
isFieldLink(fieldDefinition) ||

View File

@ -9,7 +9,7 @@ import { DropdownMenuSearchInput } from '@/ui/layout/dropdown/components/Dropdow
import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownMenuSeparator';
import { MenuItemSelectTag } from '@/ui/navigation/menu-item/components/MenuItemSelectTag';
import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
const StyledRelationPickerContainer = styled.div`
left: -1px;
@ -53,7 +53,7 @@ export const SelectFieldInput = ({
event.target instanceof HTMLInputElement &&
event.target.tagName === 'INPUT'
);
if (weAreNotInAnHTMLInput && isNonNullable(onCancel)) {
if (weAreNotInAnHTMLInput && isDefined(onCancel)) {
onCancel();
}
},

View File

@ -4,7 +4,7 @@ import { expect, fn, userEvent, waitFor, within } from '@storybook/test';
import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope';
import { FieldMetadataType } from '~/generated-metadata/graphql';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { FieldRatingValue } from '../../../../types/FieldMetadata';
import { FieldContextProvider } from '../../../__stories__/FieldContextProvider';
@ -101,7 +101,7 @@ export const Submit: Story = {
const firstStar = input.firstElementChild;
await waitFor(() => {
if (isNonNullable(firstStar)) {
if (isDefined(firstStar)) {
userEvent.click(firstStar);
expect(submitJestFn).toHaveBeenCalledTimes(1);
}

View File

@ -2,7 +2,7 @@ import { Key } from 'ts-key-enum';
import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys';
import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const useRegisterInputEvents = <T>({
inputRef,
@ -30,7 +30,7 @@ export const useRegisterInputEvents = <T>({
onClickOutside?.(event, inputValue);
},
enabled: isNonNullable(onClickOutside),
enabled: isDefined(onClickOutside),
});
useScopedHotkeys(

View File

@ -17,9 +17,9 @@ import { isFieldSelect } from '@/object-record/record-field/types/guards/isField
import { isFieldSelectValue } from '@/object-record/record-field/types/guards/isFieldSelectValue';
import { isFieldText } from '@/object-record/record-field/types/guards/isFieldText';
import { isFieldUuid } from '@/object-record/record-field/types/guards/isFieldUuid';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
const isValueEmpty = (value: unknown) => !isNonNullable(value) || value === '';
const isValueEmpty = (value: unknown) => !isDefined(value) || value === '';
export const isFieldValueEmpty = ({
fieldDefinition,
@ -46,7 +46,7 @@ export const isFieldValueEmpty = ({
}
if (isFieldSelect(fieldDefinition)) {
return isFieldSelectValue(fieldValue) && !isNonNullable(fieldValue);
return isFieldSelectValue(fieldValue) && !isDefined(fieldValue);
}
if (isFieldCurrency(fieldDefinition)) {

View File

@ -22,8 +22,8 @@ import { isMatchingFloatFilter } from '@/object-record/record-filter/utils/isMat
import { isMatchingStringFilter } from '@/object-record/record-filter/utils/isMatchingStringFilter';
import { isMatchingUUIDFilter } from '@/object-record/record-filter/utils/isMatchingUUIDFilter';
import { FieldMetadataType } from '~/generated-metadata/graphql';
import { isDefined } from '~/utils/isDefined';
import { isEmptyObject } from '~/utils/isEmptyObject';
import { isNonNullable } from '~/utils/isNonNullable';
const isAndFilter = (
filter: ObjectRecordQueryFilter,
@ -102,7 +102,7 @@ export const isRecordMatchingFilter = ({
if (isNotFilter(filter)) {
const filterValue = filter.not;
if (!isNonNullable(filterValue)) {
if (!isDefined(filterValue)) {
throw new Error('Unexpected value for "not" filter : ' + filterValue);
}
@ -117,7 +117,7 @@ export const isRecordMatchingFilter = ({
}
return Object.entries(filter).every(([filterKey, filterValue]) => {
if (!isNonNullable(filterValue)) {
if (!isDefined(filterValue)) {
throw new Error(
'Unexpected value for filter key "' + filterKey + '" : ' + filterValue,
);
@ -129,7 +129,7 @@ export const isRecordMatchingFilter = ({
(field) => field.name === filterKey,
);
if (!isNonNullable(objectMetadataField)) {
if (!isDefined(objectMetadataField)) {
throw new Error(
'Field metadata item "' +
filterKey +

View File

@ -13,7 +13,7 @@ import {
import { makeAndFilterVariables } from '@/object-record/utils/makeAndFilterVariables';
import { ViewFilterOperand } from '@/views/types/ViewFilterOperand';
import { Field } from '~/generated/graphql';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { Filter } from '../../object-filter-dropdown/types/Filter';
@ -40,7 +40,7 @@ export const turnObjectDropdownFilterIntoQueryFilter = (
);
}
if (!isNonNullable(rawUIFilter.value) || rawUIFilter.value === '') {
if (!isDefined(rawUIFilter.value) || rawUIFilter.value === '') {
return undefined;
}

View File

@ -4,7 +4,7 @@ import { useColumnDefinitionsFromFieldMetadata } from '@/object-metadata/hooks/u
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
import { useObjectNameSingularFromPlural } from '@/object-metadata/hooks/useObjectNameSingularFromPlural';
import { useViewBar } from '@/views/hooks/useViewBar';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
type RecordIndexViewBarEffectProps = {
objectNamePlural: string;
@ -34,7 +34,7 @@ export const RecordIndexViewBarEffect = ({
} = useViewBar({ viewBarId });
useEffect(() => {
if (isNullable(objectMetadataItem)) {
if (isUndefinedOrNull(objectMetadataItem)) {
return;
}
setViewObjectMetadataId?.(objectMetadataItem.id);

View File

@ -6,7 +6,7 @@ import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords';
import { FieldMetadata } from '@/object-record/record-field/types/FieldMetadata';
import { useRecordTableStates } from '@/object-record/record-table/hooks/internal/useRecordTableStates';
import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { useFindManyParams } from '../../hooks/useLoadRecordIndexTable';
@ -53,7 +53,7 @@ export const generateCsv: GenerateExport = ({
return hasSubFields;
});
if (isNonNullable(fieldsWithSubFields)) {
if (isDefined(fieldsWithSubFields)) {
const nestedFieldsWithoutTypename = Object.keys(
(fieldsWithSubFields as any)[column.field],
)

View File

@ -5,7 +5,7 @@ import { FieldContext } from '@/object-record/record-field/contexts/FieldContext
import { useRecordFieldInput } from '@/object-record/record-field/hooks/useRecordFieldInput';
import { usePreviousHotkeyScope } from '@/ui/utilities/hotkey/hooks/usePreviousHotkeyScope';
import { HotkeyScope } from '@/ui/utilities/hotkey/types/HotkeyScope';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { isInlineCellInEditModeScopedState } from '../states/isInlineCellInEditModeScopedState';
import { InlineCellHotkeyScope } from '../types/InlineCellHotkeyScope';
@ -40,7 +40,7 @@ export const useInlineCell = () => {
setIsInlineCellInEditMode(true);
initFieldInputDraftValue();
if (isNonNullable(customEditHotkeyScopeForField)) {
if (isDefined(customEditHotkeyScopeForField)) {
setHotkeyScopeAndMemorizePreviousScope(
customEditHotkeyScopeForField.scope,
customEditHotkeyScopeForField.customScopes,

View File

@ -30,8 +30,8 @@ import {
FileFolder,
useUploadImageMutation,
} from '~/generated/graphql';
import { isNonNullable } from '~/utils/isNonNullable';
import { isNullable } from '~/utils/isNullable';
import { isDefined } from '~/utils/isDefined';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
type RecordShowContainerProps = {
objectNameSingular: string;
@ -93,7 +93,7 @@ export const RecordShowContainer = ({
if (!avatarUrl) {
return;
}
if (isNullable(updateOneRecord)) {
if (isUndefinedOrNull(updateOneRecord)) {
return;
}
if (!recordFromStore) {
@ -132,7 +132,7 @@ export const RecordShowContainer = ({
<RecoilScope CustomRecoilScopeContext={ShowPageRecoilScopeContext}>
<ShowPageContainer>
<ShowPageLeftContainer>
{!recordLoading && isNonNullable(recordFromStore) && (
{!recordLoading && isDefined(recordFromStore) && (
<>
<ShowPageSummaryCard
id={objectRecordId}

View File

@ -6,7 +6,7 @@ import { Activity } from '@/activities/types/Activity';
import { useFindOneRecord } from '@/object-record/hooks/useFindOneRecord';
import { recordLoadingFamilyState } from '@/object-record/record-store/states/recordLoadingFamilyState';
import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const RecordShowContainer = ({
objectRecordId,
@ -38,7 +38,7 @@ export const RecordShowContainer = ({
const { makeActivityWithoutConnection } = useActivityConnectionUtils();
useEffect(() => {
if (!loading && isNonNullable(record)) {
if (!loading && isDefined(record)) {
const { activity: activityWithoutConnection } =
makeActivityWithoutConnection(record as any);

View File

@ -15,7 +15,7 @@ import { TableHotkeyScope } from '@/object-record/record-table/types/TableHotkey
import { RelationPickerHotkeyScope } from '@/object-record/relation-picker/types/RelationPickerHotkeyScope';
import { contextMenuIsOpenState } from '@/ui/navigation/context-menu/states/contextMenuIsOpenState';
import { contextMenuPositionState } from '@/ui/navigation/context-menu/states/contextMenuPositionState';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
const StyledContainer = styled.td<{ isSelected: boolean }>`
background: ${({ isSelected, theme }) =>
@ -46,7 +46,7 @@ export const RecordTableCellContainer = () => {
const updateRecord = useContext(RecordUpdateContext);
if (isNullable(columnDefinition)) {
if (isUndefinedOrNull(columnDefinition)) {
return null;
}

View File

@ -11,7 +11,7 @@ import { useLeaveTableFocus } from '@/object-record/record-table/hooks/internal/
import { useDragSelect } from '@/ui/utilities/drag-select/hooks/useDragSelect';
import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope';
import { HotkeyScope } from '@/ui/utilities/hotkey/types/HotkeyScope';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { CellHotkeyScopeContext } from '../../contexts/CellHotkeyScopeContext';
import { TableHotkeyScope } from '../../types/TableHotkeyScope';
@ -57,7 +57,7 @@ export const useOpenRecordTableCell = () => {
initFieldInputDraftValue(options?.initialValue);
if (isNonNullable(customCellHotkeyScope)) {
if (isDefined(customCellHotkeyScope)) {
setHotkeyScope(
customCellHotkeyScope.scope,
customCellHotkeyScope.customScopes,

View File

@ -19,7 +19,7 @@ import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownM
import { SelectableItem } from '@/ui/layout/selectable-list/components/SelectableItem';
import { SelectableList } from '@/ui/layout/selectable-list/components/SelectableList';
import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const StyledSelectableItem = styled(SelectableItem)`
height: 100%;
@ -153,7 +153,7 @@ export const MultipleObjectRecordSelect = ({
(entity) => entity.record.id === recordId,
);
if (isNonNullable(correspondingRecordForSelect)) {
if (isDefined(correspondingRecordForSelect)) {
handleSelectChange(
correspondingRecordForSelect,
!recordIsSelected,

View File

@ -6,7 +6,7 @@ import {
} from '@/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch';
import { DropdownMenu } from '@/ui/layout/dropdown/components/DropdownMenu';
import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export type SingleEntitySelectProps = {
disableBackgroundBlur?: boolean;
@ -38,7 +38,7 @@ export const SingleEntitySelect = ({
event.target instanceof HTMLInputElement &&
event.target.tagName === 'INPUT'
);
if (weAreNotInAnHTMLInput && isNonNullable(onCancel)) {
if (weAreNotInAnHTMLInput && isDefined(onCancel)) {
onCancel();
}
},

View File

@ -13,7 +13,7 @@ import { SelectableList } from '@/ui/layout/selectable-list/components/Selectabl
import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem';
import { MenuItemSelect } from '@/ui/navigation/menu-item/components/MenuItemSelect';
import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { EntityForSelect } from '../types/EntityForSelect';
import { RelationPickerHotkeyScope } from '../types/RelationPickerHotkeyScope';
@ -55,7 +55,7 @@ export const SingleEntitySelectMenuItems = ({
const entitiesInDropdown = [selectedEntity, ...entitiesToSelect].filter(
(entity): entity is EntityForSelect =>
isNonNullable(entity) && isNonEmptyString(entity.name),
isDefined(entity) && isNonEmptyString(entity.name),
);
useScopedHotkeys(

View File

@ -6,7 +6,7 @@ import {
import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery';
import { DropdownMenuSearchInput } from '@/ui/layout/dropdown/components/DropdownMenuSearchInput';
import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownMenuSeparator';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { useEntitySelectSearch } from '../hooks/useEntitySelectSearch';
@ -42,7 +42,7 @@ export const SingleEntitySelectMenuItemsWithSearch = ({
relationPickerScopeId,
});
const showCreateButton = isNonNullable(onCreate) && searchFilter !== '';
const showCreateButton = isDefined(onCreate) && searchFilter !== '';
const entities = useFilteredSearchEntityQuery({
filters: [

View File

@ -1,6 +1,6 @@
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { DEFAULT_SEARCH_REQUEST_LIMIT } from '@/object-record/constants/DefaultSearchRequestLimit';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { capitalize } from '~/utils/string/capitalize';
export const useLimitPerMetadataItem = ({
@ -15,7 +15,7 @@ export const useLimitPerMetadataItem = ({
.map(({ nameSingular }) => {
return [`limit${capitalize(nameSingular)}`, limit];
})
.filter(isNonNullable),
.filter(isDefined),
);
return {

View File

@ -5,7 +5,7 @@ import { objectMetadataItemsByNamePluralMapSelector } from '@/object-metadata/st
import { getObjectRecordIdentifier } from '@/object-metadata/utils/getObjectRecordIdentifier';
import { ObjectRecordForSelect } from '@/object-record/relation-picker/hooks/useMultiObjectSearch';
import { ObjectRecordConnection } from '@/object-record/types/ObjectRecordConnection';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export type MultiObjectRecordQueryResult = {
[namePlural: string]: ObjectRecordConnection;
@ -30,7 +30,7 @@ export const useMultiObjectRecordsQueryResultFormattedAsObjectRecordForSelectArr
const objectMetadataItem =
objectMetadataItemsByNamePluralMap.get(namePlural);
if (!isNonNullable(objectMetadataItem)) return [];
if (!isDefined(objectMetadataItem)) return [];
return objectRecordConnection.edges.map(({ node }) => ({
objectMetadataItem,

View File

@ -13,7 +13,7 @@ import {
import { SelectedObjectRecordId } from '@/object-record/relation-picker/hooks/useMultiObjectSearch';
import { useOrderByFieldPerMetadataItem } from '@/object-record/relation-picker/hooks/useOrderByFieldPerMetadataItem';
import { useSearchFilterPerMetadataItem } from '@/object-record/relation-picker/hooks/useSearchFilterPerMetadataItem';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { capitalize } from '~/utils/string/capitalize';
export const useMultiObjectSearchMatchesSearchFilterAndSelectedItemsQuery = ({
@ -71,7 +71,7 @@ export const useMultiObjectSearchMatchesSearchFilterAndSelectedItemsQuery = ({
},
];
})
.filter(isNonNullable),
.filter(isDefined),
);
const { orderByFieldPerMetadataItem } = useOrderByFieldPerMetadataItem({
@ -100,7 +100,7 @@ export const useMultiObjectSearchMatchesSearchFilterAndSelectedItemsQuery = ({
...orderByFieldPerMetadataItem,
...limitPerMetadataItem,
},
skip: !isNonNullable(multiSelectQueryForSelectedIds),
skip: !isDefined(multiSelectQueryForSelectedIds),
},
);

View File

@ -14,7 +14,7 @@ import { SelectedObjectRecordId } from '@/object-record/relation-picker/hooks/us
import { useOrderByFieldPerMetadataItem } from '@/object-record/relation-picker/hooks/useOrderByFieldPerMetadataItem';
import { useSearchFilterPerMetadataItem } from '@/object-record/relation-picker/hooks/useSearchFilterPerMetadataItem';
import { makeAndFilterVariables } from '@/object-record/utils/makeAndFilterVariables';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { capitalize } from '~/utils/string/capitalize';
export const useMultiObjectSearchMatchesSearchFilterAndToSelectQuery = ({
@ -72,7 +72,7 @@ export const useMultiObjectSearchMatchesSearchFilterAndToSelectQuery = ({
makeAndFilterVariables(searchFilters),
];
})
.filter(isNonNullable),
.filter(isDefined),
);
const { orderByFieldPerMetadataItem } = useOrderByFieldPerMetadataItem({
@ -99,7 +99,7 @@ export const useMultiObjectSearchMatchesSearchFilterAndToSelectQuery = ({
...orderByFieldPerMetadataItem,
...limitPerMetadataItem,
},
skip: !isNonNullable(multiSelectQuery),
skip: !isDefined(multiSelectQuery),
});
const {

View File

@ -12,7 +12,7 @@ import {
} from '@/object-record/relation-picker/hooks/useMultiObjectRecordsQueryResultFormattedAsObjectRecordForSelectArray';
import { SelectedObjectRecordId } from '@/object-record/relation-picker/hooks/useMultiObjectSearch';
import { useOrderByFieldPerMetadataItem } from '@/object-record/relation-picker/hooks/useOrderByFieldPerMetadataItem';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { capitalize } from '~/utils/string/capitalize';
export const EMPTY_QUERY = gql`
@ -56,7 +56,7 @@ export const useMultiObjectSearchSelectedItemsQuery = ({
},
];
})
.filter(isNonNullable),
.filter(isDefined),
);
const { orderByFieldPerMetadataItem } = useOrderByFieldPerMetadataItem({
@ -83,7 +83,7 @@ export const useMultiObjectSearchSelectedItemsQuery = ({
...orderByFieldPerMetadataItem,
...limitPerMetadataItem,
},
skip: !isNonNullable(multiSelectQueryForSelectedIds),
skip: !isDefined(multiSelectQueryForSelectedIds),
},
);

View File

@ -1,6 +1,6 @@
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { getObjectOrderByField } from '@/object-metadata/utils/getObjectOrderByField';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
import { capitalize } from '~/utils/string/capitalize';
export const useOrderByFieldPerMetadataItem = ({
@ -20,7 +20,7 @@ export const useOrderByFieldPerMetadataItem = ({
},
];
})
.filter(isNonNullable),
.filter(isDefined),
);
return {

View File

@ -5,7 +5,7 @@ import { getLabelIdentifierFieldMetadataItem } from '@/object-metadata/utils/get
import { ObjectRecordQueryFilter } from '@/object-record/record-filter/types/ObjectRecordQueryFilter';
import { makeOrFilterVariables } from '@/object-record/utils/makeOrFilterVariables';
import { FieldMetadataType } from '~/generated/graphql';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const useSearchFilterPerMetadataItem = ({
objectMetadataItems,
@ -25,7 +25,7 @@ export const useSearchFilterPerMetadataItem = ({
let searchFilter: ObjectRecordQueryFilter = {};
if (isNonNullable(labelIdentifierFieldMetadataItem)) {
if (isDefined(labelIdentifierFieldMetadataItem)) {
switch (labelIdentifierFieldMetadataItem.type) {
case FieldMetadataType.FullName: {
if (isNonEmptyString(searchFilterValue)) {
@ -46,7 +46,7 @@ export const useSearchFilterPerMetadataItem = ({
},
]);
if (isNonNullable(fullNameFilter)) {
if (isDefined(fullNameFilter)) {
searchFilter = fullNameFilter;
}
}
@ -66,7 +66,7 @@ export const useSearchFilterPerMetadataItem = ({
return [objectMetadataItem.nameSingular, searchFilter] as const;
})
.filter(isNonNullable),
.filter(isDefined),
);
return {

View File

@ -9,7 +9,7 @@ import { useIcons } from '@/ui/display/icon/hooks/useIcons';
import { IconComponent } from '@/ui/display/icon/types/IconComponent';
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
import { FieldMetadataType } from '~/generated-metadata/graphql';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
const firstName = 'Firstname';
const lastName = 'Lastname';
@ -132,7 +132,7 @@ export const useSpreadsheetRecordImport = (objectNameSingular: string) => {
break;
case FieldMetadataType.Relation:
if (
isNonNullable(value) &&
isDefined(value) &&
(isNonEmptyString(value) || value !== false)
) {
fieldMapping[field.name + 'Id'] = value;
@ -140,7 +140,7 @@ export const useSpreadsheetRecordImport = (objectNameSingular: string) => {
break;
case FieldMetadataType.FullName:
if (
isNonNullable(
isDefined(
record[`${firstName} (${field.name})`] ||
record[`${lastName} (${field.name})`],
)

View File

@ -2,7 +2,7 @@ import { gql } from '@apollo/client';
import { EMPTY_MUTATION } from '@/object-metadata/hooks/useObjectMetadataItem';
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { isNullable } from '~/utils/isNullable';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
import { capitalize } from '~/utils/string/capitalize';
export const getDeleteOneRecordMutationResponseField = (
@ -14,7 +14,7 @@ export const generateDeleteOneRecordMutation = ({
}: {
objectMetadataItem: ObjectMetadataItem;
}) => {
if (isNullable(objectMetadataItem)) {
if (isUndefinedOrNull(objectMetadataItem)) {
return EMPTY_MUTATION;
}

View File

@ -1,15 +1,12 @@
import { ObjectRecordEdge } from '@/object-record/types/ObjectRecordEdge';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const getChildRelationArray = ({
childRelation,
}: {
childRelation: any;
}) => {
if (
isNonNullable(childRelation.edges) &&
Array.isArray(childRelation.edges)
) {
if (isDefined(childRelation.edges) && Array.isArray(childRelation.edges)) {
return childRelation.edges.map((edge: ObjectRecordEdge) => edge.node);
} else {
return childRelation;

View File

@ -1,10 +1,10 @@
import { ObjectRecordQueryFilter } from '@/object-record/record-filter/types/ObjectRecordQueryFilter';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const makeAndFilterVariables = (
filters: (ObjectRecordQueryFilter | undefined)[],
): ObjectRecordQueryFilter | undefined => {
const definedFilters = filters.filter(isNonNullable);
const definedFilters = filters.filter(isDefined);
if (!definedFilters.length) return undefined;

View File

@ -1,10 +1,10 @@
import { ObjectRecordQueryFilter } from '@/object-record/record-filter/types/ObjectRecordQueryFilter';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const makeOrFilterVariables = (
filters: (ObjectRecordQueryFilter | undefined)[],
): ObjectRecordQueryFilter | undefined => {
const definedFilters = filters.filter(isNonNullable);
const definedFilters = filters.filter(isDefined);
if (!definedFilters.length) return undefined;

View File

@ -5,7 +5,7 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { isFieldRelationValue } from '@/object-record/record-field/types/guards/isFieldRelationValue';
import { sanitizeLink } from '@/object-record/utils/sanitizeLinkRecordInput';
import { FieldMetadataType } from '~/generated/graphql';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
export const sanitizeRecordInput = ({
objectMetadataItem,
@ -39,7 +39,7 @@ export const sanitizeRecordInput = ({
return [fieldName, fieldValue];
})
.filter(isNonNullable),
.filter(isDefined),
);
if (
objectMetadataItem.nameSingular !== CoreObjectNameSingular.Company ||

View File

@ -2,7 +2,7 @@ import { DateTime } from 'luxon';
import { OrderBy } from '@/object-metadata/types/OrderBy';
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { isNonNullable } from '~/utils/isNonNullable';
import { isDefined } from '~/utils/isDefined';
const SORT_BEFORE = -1;
const SORT_AFTER = 1;
@ -14,11 +14,11 @@ export const sortObjectRecordByDateField =
const aDate = a[dateField];
const bDate = b[dateField];
if (!isNonNullable(aDate) && !isNonNullable(bDate)) {
if (!isDefined(aDate) && !isDefined(bDate)) {
return SORT_EQUAL;
}
if (!isNonNullable(aDate)) {
if (!isDefined(aDate)) {
if (sortDirection === 'AscNullsFirst') {
return SORT_BEFORE;
} else if (sortDirection === 'DescNullsFirst') {
@ -32,7 +32,7 @@ export const sortObjectRecordByDateField =
throw new Error(`Invalid sortDirection: ${sortDirection}`);
}
if (!isNonNullable(bDate)) {
if (!isDefined(bDate)) {
if (sortDirection === 'AscNullsFirst') {
return SORT_AFTER;
} else if (sortDirection === 'DescNullsFirst') {