@discipl/law-reg
Version:
Discipl Law and Regulation Compliance Library
210 lines (156 loc) • 3.73 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ServiceProvider = void 0;
var _abundanceService = require("@discipl/abundance-service");
var _contextExplainer = require("./services/contextExplainer");
var _factChecker = require("./services/factChecker");
var _actionChecker = require("./services/actionChecker");
var _expressionChecker = require("./services/expressionChecker");
var _actFetcher = require("./services/actFetcher");
var _dutyFetcher = require("./services/dutyFetcher");
var _actionService = require("./services/actionService");
var _modelPublisher = require("./services/modelPublisher");
var _link_util = require("./utils/link_util");
// Improve intelisense
// eslint-disable-next-line no-unused-vars
class ServiceProvider {
/**
* Create a ServiceProvider
* @param {AbundanceService} abundanceService
*/
constructor(abundanceService) {
this.abundanceService = abundanceService;
this.contextExplainer = new _contextExplainer.ContextExplainer();
this.linkUtil = new _link_util.LinkUtil(this);
this.factChecker = new _factChecker.FactChecker(this);
this.actionChecker = new _actionChecker.ActionChecker(this);
this.expressionChecker = new _expressionChecker.ExpressionChecker(this);
this.actFetcher = new _actFetcher.ActFetcher(this);
this.dutyFetcher = new _dutyFetcher.DutyFetcher(this);
this.actionService = new _actionService.ActionService(this);
this.modelPublisher = new _modelPublisher.ModelPublisher(this);
}
/**
* @type {ActionChecker}
*/
get actionChecker() {
return this._actionChecker;
}
/**
* @param {ActionChecker} value
*/
set actionChecker(value) {
this._actionChecker = value;
}
/**
* @type {ActFetcher}
*/
get actFetcher() {
return this._actFetcher;
}
/**
* @param {ActFetcher} value
*/
set actFetcher(value) {
this._actFetcher = value;
}
/**
* @type {LinkUtil}
*/
get linkUtil() {
return this._linkUtils;
}
/**
* @param {LinkUtil} value
*/
set linkUtil(value) {
this._linkUtils = value;
}
/**
* @type {ExpressionChecker}
*/
get expressionChecker() {
return this._expressionChecker;
}
/**
* @param {ExpressionChecker} value
*/
set expressionChecker(value) {
this._expressionChecker = value;
}
/**
* @type {AbundanceService}
*/
get abundanceService() {
return this._abundanceService;
}
/**
* @param {AbundanceService} value
*/
set abundanceService(value) {
this._abundanceService = value;
}
/**
* @type {FactChecker}
*/
get factChecker() {
return this._factChecker;
}
/**
* @param {FactChecker} value
*/
set factChecker(value) {
this._factChecker = value;
}
/**
* @type {ContextExplainer}
*/
get contextExplainer() {
return this._contextExplainer;
}
/**
* @param {ContextExplainer} value
*/
set contextExplainer(value) {
this._contextExplainer = value;
}
/**
* @type {DutyFetcher}
*/
get dutyFetcher() {
return this._dutyFetcher;
}
/**
* @param {DutyFetcher} value
*/
set dutyFetcher(value) {
this._dutyFetcher = value;
}
/**
* @type {ActionService}
*/
get actionService() {
return this._actionService;
}
/**
* @param {ActionService} value
*/
set actionService(value) {
this._actionService = value;
}
/**
* @type {ModelPublisher}
*/
get modelPublisher() {
return this._modelPublisher;
}
/**
* @param {ModelPublisher} value
*/
set modelPublisher(value) {
this._modelPublisher = value;
}
}
exports.ServiceProvider = ServiceProvider;