@finos/legend-extension-dsl-data-quality
Version:
Legend extension for Data Quality
88 lines • 4.93 kB
JavaScript
/**
* 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 { action } from 'mobx';
import { DataSpaceDataQualityExecutionContext, MappingAndRuntimeDataQualityExecutionContext, } from '../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js';
import { DataQualityRootGraphFetchTree } from '../graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js';
import { observe_PackageableRuntime, observe_RawLambda, PackageableElementExplicitReference, observe_RawVariableExpression, } from '@finos/legend-graph';
import { observe_DataQualityRootGraphFetchTree, observe_DataQualityRelationValidation, observe_DataSpaceDataQualityExecutionContext, observe_MappingAndRuntimeDataQualityExecutionContext, } from './action/changeDetection/DSL_DataQuality_ObserverHelper.js';
import { addUniqueEntry, deleteEntry, swapEntry } from '@finos/legend-shared';
export const dataQualityClassValidation_setDataQualityGraphFetchTree = action((element, val) => {
element.dataQualityRootGraphFetchTree = val
? observe_DataQualityRootGraphFetchTree(val)
: val;
});
export const dataQualityClassValidation_setDataQualityContext = action((element, val) => {
if (val instanceof DataSpaceDataQualityExecutionContext) {
element.context = observe_DataSpaceDataQualityExecutionContext(val);
}
if (val instanceof MappingAndRuntimeDataQualityExecutionContext) {
element.context =
observe_MappingAndRuntimeDataQualityExecutionContext(val);
}
});
export const dataQualityClassValidation_setFilter = action((element, val) => {
element.filter = val ? observe_RawLambda(val) : val;
});
export const dataQualityClassValidation_setContextDataQualityContext = action((element, val) => {
if (element.context instanceof DataSpaceDataQualityExecutionContext) {
element.context.context = val;
element.context = observe_DataSpaceDataQualityExecutionContext(element.context);
}
});
export const dataQualityClassValidation_setRuntimeDataQualityContext = action((element, val, observerContext) => {
if (element.context instanceof MappingAndRuntimeDataQualityExecutionContext) {
element.context.runtime = PackageableElementExplicitReference.create(observe_PackageableRuntime(val.value, observerContext));
}
});
export const graphFetchTree_removeAllSubTrees = action((target) => {
target.subTrees = [];
});
export const dataQualityGraphFetchTree_removeConstraints = action((target) => {
if (target instanceof DataQualityRootGraphFetchTree) {
target.constraints = [];
}
});
export const dataQualityRelationValidation_setAssertion = action((_constraint, assertion) => {
_constraint.assertion = observe_RawLambda(assertion);
});
export const dataQualityRelationValidation_setName = action((_constraint, name) => {
_constraint.name = name;
});
export const dataQualityRelationValidation_setDescription = action((_constraint, description) => {
_constraint.description = description;
});
export const dataQualityRelationValidation_setType = action((_constraint, type) => {
_constraint.type = type;
});
export const dataQualityRelationValidation_addValidation = action((_relationValidation, val) => {
addUniqueEntry(_relationValidation.validations, observe_DataQualityRelationValidation(val));
});
export const dataQualityRelationValidation_deleteValidation = action((_relationValidation, val) => {
deleteEntry(_relationValidation.validations, observe_DataQualityRelationValidation(val));
});
export const dataQualityRelationValidation_swapValidations = action((_relationValidation, sourceValidation, targetValidation) => {
swapEntry(_relationValidation.validations, sourceValidation, targetValidation);
});
export const dataQualityRelationValidation_addParameter = action((_parameters, val) => {
addUniqueEntry(_parameters, observe_RawVariableExpression(val));
});
export const dataQualityRelationValidation_deleteParameter = action((_parameters, val) => {
deleteEntry(_parameters, val);
});
export const dataQualityRelationValidation_swapParameters = action((_parameters, sourceParameter, targetParameter) => {
swapEntry(_parameters, observe_RawVariableExpression(sourceParameter), observe_RawVariableExpression(targetParameter));
});
//# sourceMappingURL=DSL_DataQuality_GraphModifierHelper.js.map