Files
twenty/packages/twenty-front/src/modules/page-layout/widgets/graph/utils/assertBarChartWidget.ts
T

26 lines
801 B
TypeScript

import { type PageLayoutWidget } from '@/page-layout/types/PageLayoutWidget';
import { assertIsDefinedOrThrow } from 'twenty-shared/utils';
import { type BarChartConfiguration } from '~/generated/graphql';
type AssertBarChartWidgetOrThrow = (
widget: PageLayoutWidget,
) => asserts widget is PageLayoutWidget & {
objectMetadataId: string;
configuration: BarChartConfiguration;
};
export const assertBarChartWidgetOrThrow: AssertBarChartWidgetOrThrow = (
widget: PageLayoutWidget,
) => {
assertIsDefinedOrThrow(
widget.objectMetadataId,
new Error('Widget objectMetadataId is required'),
);
if (widget.configuration?.__typename !== 'BarChartConfiguration') {
throw new Error(
`Expected BarChartConfiguration but got ${widget.configuration?.__typename}`,
);
}
};