@finos/legend-graph
Version:
Legend graph and graph manager
244 lines • 8.59 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 { makeObservable, observable } from 'mobx';
import {} from '../model/valueSpecification/V1_ValueSpecification.js';
import { skipObserved } from '../../../../action/changeDetection/CoreObserverHelper.js';
import { V1_observe_GenericType } from './V1_DomainObserverHelper.js';
const V1_observe_Abstract_ValueSpecification = (metamodel) => {
makeObservable(metamodel, {});
};
export const V1_observe_Variable = skipObserved((metamodel) => {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
name: observable,
multiplicity: observable,
genericType: observable,
});
if (metamodel.genericType) {
V1_observe_GenericType(metamodel.genericType);
}
return metamodel;
});
export const V1_observe_AppliedFunction = skipObserved(_V1_observe_AppliedFunction);
export const V1_observe_AppliedProperty = skipObserved(_V1_observe_AppliedProperty);
// Observer functions for primitive types
const V1_observe_PrimitiveType = skipObserved((metamodel) => {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
value: observable,
});
return metamodel;
});
export const V1_observe_EnumValue = skipObserved((metamodel) => {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
fullPath: observable,
value: observable,
});
return metamodel;
});
export const V1_observe_Collection = skipObserved(_V1_observe_Collection);
export const V1_observe_KeyExpression = skipObserved(_V1_observe_KeyExpression);
export const V1_observe_ColSpec = skipObserved(_V1_observe_ColSpec);
export const V1_observe_ColSpecArray = skipObserved((metamodel) => {
makeObservable(metamodel, {
colSpecs: observable,
});
metamodel.colSpecs.forEach(V1_observe_ColSpec);
return metamodel;
});
export const V1_observe_Lambda = skipObserved(_V1_observe_Lambda);
const V1_observe_INTERNAL__UnknownValueSpecification = skipObserved((metamodel) => {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
content: observable.ref,
});
return metamodel;
});
export const V1_observe_PackageableElementPtr = skipObserved((metamodel) => {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
multiplicity: observable,
fullPath: observable,
});
return metamodel;
});
export const V1_observe_GenericTypeInstance = skipObserved((metamodel) => {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
multiplicity: observable,
genericType: observable,
});
V1_observe_GenericType(metamodel.genericType);
return metamodel;
});
export const V1_observe_ClassInstance = skipObserved((metamodel) => {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
multiplicity: observable,
type: observable,
value: observable,
});
return metamodel;
});
class V1_ValueSpecificationObserver {
visit_INTERNAL__UnknownValueSpecfication(valueSpecification) {
V1_observe_INTERNAL__UnknownValueSpecification(valueSpecification);
}
visit_AppliedFunction(valueSpecification) {
V1_observe_AppliedFunction(valueSpecification);
}
visit_Variable(valueSpecification) {
V1_observe_Variable(valueSpecification);
}
visit_Lambda(valueSpecification) {
V1_observe_Lambda(valueSpecification);
}
visit_KeyExpression(valueSpecification) {
V1_observe_KeyExpression(valueSpecification);
}
visit_AppliedProperty(valueSpecification) {
V1_observe_AppliedProperty(valueSpecification);
}
visit_PackageableElementPtr(valueSpecification) {
V1_observe_PackageableElementPtr(valueSpecification);
}
visit_GenericTypeInstance(valueSpecification) {
V1_observe_GenericTypeInstance(valueSpecification);
}
visit_Collection(valueSpecification) {
V1_observe_Collection(valueSpecification);
}
visit_EnumValue(valueSpecification) {
V1_observe_EnumValue(valueSpecification);
}
visit_CInteger(valueSpecification) {
V1_observe_PrimitiveType(valueSpecification);
}
visit_CDecimal(valueSpecification) {
V1_observe_PrimitiveType(valueSpecification);
}
visit_CString(valueSpecification) {
V1_observe_PrimitiveType(valueSpecification);
}
visit_CBoolean(valueSpecification) {
V1_observe_PrimitiveType(valueSpecification);
}
visit_CByteArray(valueSpecification) {
V1_observe_PrimitiveType(valueSpecification);
}
visit_CFloat(valueSpecification) {
V1_observe_PrimitiveType(valueSpecification);
}
visit_CDateTime(valueSpecification) {
V1_observe_PrimitiveType(valueSpecification);
}
visit_CStrictDate(valueSpecification) {
V1_observe_PrimitiveType(valueSpecification);
}
visit_CStrictTime(valueSpecification) {
V1_observe_PrimitiveType(valueSpecification);
}
visit_CLatestDate(valueSpecification) {
V1_observe_Abstract_ValueSpecification(valueSpecification);
}
visit_ClassInstance(valueSpecification) {
V1_observe_ClassInstance(valueSpecification);
}
}
/**
* Make a V1_ValueSpecification observable
*
* @param valueSpecification - The V1_ValueSpecification to make observable
* @returns The observed V1_ValueSpecification
*/
export const V1_observe_ValueSpecification = skipObserved((valueSpecification) => {
valueSpecification.accept_ValueSpecificationVisitor(new V1_ValueSpecificationObserver());
return valueSpecification;
});
function V1_observe_Abstract_AppliedFunction(metamodel) {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
multiplicity: observable,
});
return metamodel;
}
function _V1_observe_AppliedFunction(metamodel) {
V1_observe_Abstract_AppliedFunction(metamodel);
makeObservable(metamodel, {
function: observable,
fControl: observable,
parameters: observable,
});
metamodel.parameters.forEach(V1_observe_ValueSpecification);
return metamodel;
}
function _V1_observe_AppliedProperty(metamodel) {
V1_observe_Abstract_AppliedFunction(metamodel);
makeObservable(metamodel, {
class: observable,
property: observable,
parameters: observable,
});
metamodel.parameters.forEach(V1_observe_ValueSpecification);
return metamodel;
}
function _V1_observe_Collection(metamodel) {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
multiplicity: observable,
values: observable,
});
metamodel.values.forEach(V1_observe_ValueSpecification);
return metamodel;
}
function _V1_observe_KeyExpression(metamodel) {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
add: observable,
expression: observable,
key: observable,
});
V1_observe_ValueSpecification(metamodel.key);
V1_observe_ValueSpecification(metamodel.expression);
return metamodel;
}
function _V1_observe_ColSpec(metamodel) {
makeObservable(metamodel, {
name: observable,
type: observable,
function1: observable,
function2: observable,
});
if (metamodel.function1) {
V1_observe_Lambda(metamodel.function1);
}
if (metamodel.function2) {
V1_observe_Lambda(metamodel.function2);
}
return metamodel;
}
function _V1_observe_Lambda(metamodel) {
V1_observe_Abstract_ValueSpecification(metamodel);
makeObservable(metamodel, {
body: observable,
parameters: observable,
});
metamodel.body.forEach(V1_observe_ValueSpecification);
metamodel.parameters.forEach(V1_observe_Variable);
return metamodel;
}
//# sourceMappingURL=V1_ValueSpecificationObserver.js.map