@finos/legend-extension-dsl-data-quality
Version:
Legend extension for Data Quality
108 lines • 6.28 kB
TypeScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { type EditorStore, ElementEditorState } from '@finos/legend-application-studio';
import { DataQualityRelationValidation, DataQualityRelationValidationConfiguration } from '../../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
import { type GeneratorFn, ActionState } from '@finos/legend-shared';
import { type ExecutionResult, RawLambda, RelationTypeMetadata } from '@finos/legend-graph';
import { ExecutionPlanState, LambdaEditorState, LambdaParametersState, LambdaParameterState } from '@finos/legend-query-builder';
import { DataQualityRelationValidationState } from './DataQualityRelationValidationState.js';
import { DataQualityRelationResultState } from './DataQualityRelationResultState.js';
import { type SelectOption } from '@finos/legend-art';
import { SuggestedValidationsState } from './DataQualityRelationValidationSuggestedValidationState.js';
export declare enum DATA_QUALITY_RELATION_VALIDATION_EDITOR_TAB {
DEFINITION = "Definition",
VALIDATIONS = "Validations",
TRIAL_RUN = "Trial Run"
}
export declare const DEFAULT_QUERY_LIMIT = 1000;
export declare enum EXECUTION_TYPE {
EXECUTION = "EXECUTION",
PROFILING = "PROFILING"
}
export declare class RelationFunctionDefinitionEditorState extends LambdaEditorState {
readonly editorStore: EditorStore;
readonly relationValidationElement: DataQualityRelationValidationConfiguration;
readonly configurationState: DataQualityRelationValidationConfigurationState;
isConvertingFunctionBodyToString: boolean;
constructor(relationValidationElement: DataQualityRelationValidationConfiguration, editorStore: EditorStore, configurationState: DataQualityRelationValidationConfigurationState);
get lambdaId(): string;
convertLambdaGrammarStringToObject(): GeneratorFn<void>;
convertLambdaObjectToGrammarString(options?: {
pretty?: boolean | undefined;
preserveCompilationError?: boolean | undefined;
firstLoad?: boolean | undefined;
}): GeneratorFn<void>;
get hashCode(): string;
}
export declare class RelationDefinitionParameterState extends LambdaParametersState {
readonly relationValidationConfigurationState: DataQualityRelationValidationConfigurationState;
constructor(relationValidationConfigurationState: DataQualityRelationValidationConfigurationState);
openModal(lambda: RawLambda, onSubmit: () => GeneratorFn<void>): void;
build(lambda: RawLambda): LambdaParameterState[];
}
export declare class DataQualityRelationValidationConfigurationState extends ElementEditorState {
readonly relationFunctionDefinitionEditorState: RelationFunctionDefinitionEditorState;
readonly exportState: ActionState;
selectedTab: DATA_QUALITY_RELATION_VALIDATION_EDITOR_TAB;
lastExecutionType: EXECUTION_TYPE | undefined;
currentExecutionType: EXECUTION_TYPE | undefined;
isGeneratingPlan: boolean;
runPromise: Promise<ExecutionResult> | undefined;
executionResult?: ExecutionResult | undefined;
executionPlanState: ExecutionPlanState;
validationStates: DataQualityRelationValidationState[];
readonly suggestedValidationsState: SuggestedValidationsState;
parametersState: RelationDefinitionParameterState;
isConvertingValidationLambdaObjects: boolean;
resultState: DataQualityRelationResultState;
executionDuration?: number | undefined;
latestRunHashCode?: string | undefined;
isSuggestionPanelOpen: boolean;
relationTypeMetadata: RelationTypeMetadata;
lastRelationColumnsQueryHash: string | undefined;
queryLimit: number;
constructor(editorStore: EditorStore, element: DataQualityRelationValidationConfiguration);
setupValidationStatesWithColumns(): GeneratorFn<void>;
reprocess(newElement: DataQualityRelationValidationConfiguration, editorStore: EditorStore): DataQualityRelationValidationConfigurationState;
get validationElement(): DataQualityRelationValidationConfiguration;
get validationOptions(): SelectOption[];
getNullableValidationState: (relationValidation: DataQualityRelationValidation) => DataQualityRelationValidationState | undefined;
getValidationState: (validation: DataQualityRelationValidation) => DataQualityRelationValidationState;
get relationValidationOptions(): SelectOption[];
get checkForStaleResults(): boolean;
get isRunning(): boolean;
setExecutionDuration(val: number | undefined): void;
resetResultState(): void;
addValidationState(validation: DataQualityRelationValidation): void;
deleteValidationState(validation: DataQualityRelationValidation): void;
setQueryLimit(queryLimit: number): void;
setRunPromise: (promise: Promise<ExecutionResult> | undefined) => void;
setSelectedTab(tab: DATA_QUALITY_RELATION_VALIDATION_EDITOR_TAB): void;
setExecutionResult: (executionResult: ExecutionResult | undefined, type: EXECUTION_TYPE) => void;
handleRun(type: EXECUTION_TYPE): GeneratorFn<void>;
convertValidationLambdaObjects(): GeneratorFn<void>;
get bodyExpressionSequence(): RawLambda;
run(type: EXECUTION_TYPE): GeneratorFn<void>;
cancelRun(): GeneratorFn<void>;
generatePlan(debug: boolean): GeneratorFn<void>;
exportData(format: string): GeneratorFn<void>;
getRelationColumns(): GeneratorFn<void>;
applySuggestion(validationState: DataQualityRelationValidationState): void;
modifyExistingSuggestion(validation: DataQualityRelationValidationState): void;
applyOrModifySuggestion(validationState: DataQualityRelationValidationState): void;
get hashCode(): string;
}
//# sourceMappingURL=DataQualityRelationValidationConfigurationState.d.ts.map