fix(types): make AdhocFilter and AdhocMetric interfaces more flexible

Allow additional properties via index signature to support test fixtures
and various usage patterns across the codebase.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Evan Rusackas
2025-12-19 02:15:59 -08:00
parent a737894d47
commit f182d0fd43
2 changed files with 10 additions and 2 deletions

View File

@@ -30,8 +30,8 @@ const CUSTOM_OPERATIONS = [...CUSTOM_OPERATORS].map(
interface AdhocFilterInput {
expressionType?: string;
subject?: string;
operator?: string;
subject?: string | null;
operator?: string | null;
operatorId?: string;
comparator?: unknown;
clause?: string;
@@ -42,6 +42,8 @@ interface AdhocFilterInput {
deck_slices?: unknown;
layerFilterScope?: unknown;
filterOptionName?: string;
// Allow additional properties for flexibility
[key: string]: unknown;
}
export default class AdhocFilter {

View File

@@ -40,6 +40,12 @@ interface AdhocMetricInput {
hasCustomLabel?: boolean;
label?: string;
optionName?: string;
// Additional properties that may be passed in
metric_name?: string;
expression?: string;
error_text?: string;
uuid?: string;
[key: string]: unknown;
}
function inferSqlExpressionColumn(adhocMetric: AdhocMetricInput): string | null {