@finos/legend-extension-dsl-persistence
Version:
Legend extension for Persistence DSL
51 lines • 2.37 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 packageJson from '../../package.json' with { type: 'json' };
import { Persistence } from '../graph/metamodel/pure/model/packageableElements/persistence/DSL_Persistence_Persistence.js';
import { PersistenceContext } from '../graph/metamodel/pure/model/packageableElements/persistence/DSL_Persistence_PersistenceContext.js';
import { observe_Persistence, observe_PersistenceTest, } from './action/changeDetection/DSL_Persistence_ObserverHelper.js';
import { observe_PersistenceContext } from './action/changeDetection/DSL_PersistenceContext_ObserverHelper.js';
import { PureGraphManagerPlugin, } from '@finos/legend-graph';
import { PersistenceTest } from '../graph/metamodel/pure/model/packageableElements/persistence/DSL_Persistence_PersistenceTest.js';
export class DSL_Persistence_PureGraphManagerPlugin extends PureGraphManagerPlugin {
constructor() {
super(packageJson.extensions.pureGraphManagerPlugin, packageJson.version);
}
getExtraElementObservers() {
return [
(element, context) => {
if (element instanceof Persistence) {
return observe_Persistence(element, context);
}
else if (element instanceof PersistenceContext) {
return observe_PersistenceContext(element);
}
return undefined;
},
];
}
getExtraAtomicTestObservers() {
return [
(element, context) => {
if (element instanceof PersistenceTest) {
return observe_PersistenceTest(element, context);
}
return undefined;
},
];
}
}
//# sourceMappingURL=DSL_Persistence_PureGraphManagerPlugin.js.map