UNPKG

@finos/legend-extension-dsl-data-quality

Version:
151 lines 6.27 kB
/** * 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 { observe_Abstract_PackageableElement, observe_Class, observe_PackageableElementReference, observe_PropertyReference, observe_RawLambda, skipObserved, skipObservedWithContext, } from '@finos/legend-graph'; import { computed, makeObservable, observable, override } from 'mobx'; import { MD5HashStrategy, DataSpaceDataQualityExecutionContext, MappingAndRuntimeDataQualityExecutionContext, } from '../../../graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js'; import { observe_DataSpace } from '@finos/legend-extension-dsl-data-space/graph'; import { DataQualityPropertyGraphFetchTree, } from '../../../graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js'; export const observe_DataSpaceDataQualityExecutionContext = skipObserved((metamodel) => { makeObservable(metamodel, { context: observable, dataSpace: observable, }); observe_DataSpace(metamodel.dataSpace.value); return metamodel; }); export const observe_MappingAndRuntimeDataQualityExecutionContext = skipObserved((metamodel) => { makeObservable(metamodel, { mapping: observable, runtime: observable, }); observe_PackageableElementReference(metamodel.mapping); observe_PackageableElementReference(metamodel.runtime); return metamodel; }); export const observe_DataQualityPropertyGraphFetchTree = skipObserved((metamodel) => { makeObservable(metamodel, { constraints: observable, property: observable, subTrees: observable, }); observe_PropertyReference(metamodel.property); metamodel.subTrees.forEach((subTree) => { if (subTree instanceof DataQualityPropertyGraphFetchTree) { observe_DataQualityPropertyGraphFetchTree(subTree); } }); return metamodel; }); export const observe_DataQualityRootGraphFetchTree = skipObserved((metamodel) => { makeObservable(metamodel, { class: observable, subTrees: observable, constraints: observable, }); observe_Class(metamodel.class.value); metamodel.subTrees.forEach((subTree) => { if (subTree instanceof DataQualityPropertyGraphFetchTree) { observe_DataQualityPropertyGraphFetchTree(subTree); } }); return metamodel; }); export const observe_DataQualityConstraintsConfiguration = skipObserved((metamodel) => { observe_Abstract_PackageableElement(metamodel); makeObservable(metamodel, { _elementHashCode: override, context: observable, filter: observable, dataQualityRootGraphFetchTree: observable, }); if (metamodel.context instanceof DataSpaceDataQualityExecutionContext) { observe_DataSpaceDataQualityExecutionContext(metamodel.context); } if (metamodel.context instanceof MappingAndRuntimeDataQualityExecutionContext) { observe_MappingAndRuntimeDataQualityExecutionContext(metamodel.context); } if (metamodel.filter) { observe_RawLambda(metamodel.filter); } if (metamodel.dataQualityRootGraphFetchTree) { observe_DataQualityRootGraphFetchTree(metamodel.dataQualityRootGraphFetchTree); } return metamodel; }); export const observe_DataQualityServiceValidationConfiguration = skipObserved((metamodel) => { observe_Abstract_PackageableElement(metamodel); makeObservable(metamodel, { _elementHashCode: override, contextName: observable, serviceName: observable, dataQualityRootGraphFetchTree: observable, }); return metamodel; }); export const observe_DataQualityRelationValidation = skipObserved((metamodel) => { makeObservable(metamodel, { name: observable, assertion: observable, description: observable, type: observable, }); observe_RawLambda(metamodel.assertion); return metamodel; }); export const observe_DataQualityRelationQueryLambda = skipObserved((metamodel) => makeObservable(metamodel, { body: observable.ref, // only observe the reference, the object itself is not observed parameters: observable, hashCode: computed, })); export const observe_DataQualityRelationValidationConfiguration = skipObservedWithContext((metamodel, context) => { observe_Abstract_PackageableElement(metamodel); makeObservable(metamodel, { _elementHashCode: override, query: observable, validations: observable, }); metamodel.validations.forEach((value) => observe_DataQualityRelationValidation(value)); observe_DataQualityRelationQueryLambda(metamodel.query); return metamodel; }); export const observe_ReconStrategy = skipObserved((metamodel) => { if (metamodel instanceof MD5HashStrategy) { return makeObservable(metamodel, { sourceHashColumn: observable, targetHashColumn: observable, aggregatedHash: observable, hashCode: computed, }); } return metamodel; }); export const observe_DataQualityRelationComparisonConfiguration = skipObservedWithContext((metamodel) => { observe_Abstract_PackageableElement(metamodel); makeObservable(metamodel, { _elementHashCode: override, source: observable, target: observable, keys: observable, columnsToCompare: observable, strategy: observable, expectedMatch: observable, }); observe_DataQualityRelationQueryLambda(metamodel.source); observe_DataQualityRelationQueryLambda(metamodel.target); observe_ReconStrategy(metamodel.strategy); return metamodel; }); //# sourceMappingURL=DSL_DataQuality_ObserverHelper.js.map