UNPKG

@golemio/parkings

Version:
23 lines 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors"); const MaxChargeInteractionsRule_1 = require("./MaxChargeInteractionsRule"); const MaxPriceRule_1 = require("./MaxPriceRule"); const RuleEnum_1 = require("./RuleEnum"); const ZeroMaxParkingTime_1 = require("./ZeroMaxParkingTime"); class RuleFactory { constructor() { this.instances = new Map(); this.instances.set(RuleEnum_1.RuleEnum.MaxChargeIterationsRule, new MaxChargeInteractionsRule_1.MaxChargeIterationsRule()); this.instances.set(RuleEnum_1.RuleEnum.MaxPriceRule, new MaxPriceRule_1.MaxPriceRule()); this.instances.set(RuleEnum_1.RuleEnum.ZeroMaxParkingTime, new ZeroMaxParkingTime_1.ZeroMaxParkingTime()); } get(ruleType) { if (!this.instances.has(ruleType)) { throw new golemio_errors_1.GeneralError(`Unable to find rule: '${ruleType.toString()}'.`, RuleFactory.name); } return this.instances.get(ruleType); } } exports.default = RuleFactory; //# sourceMappingURL=RuleFactory.js.map