@kcutils/logger
Version:
Another Logger Service
38 lines • 1.36 kB
JavaScript
;
/**
* @packageDocumentation
* @module Logger.Builders
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.LoggerBuilder = void 0;
var Logger_1 = require("../models/logger/Logger");
var LoggerOptionBuilder_1 = require("./LoggerOptionBuilder");
var LoggerBuilder = /** @class */ (function () {
function LoggerBuilder() {
this.builder = LoggerOptionBuilder_1.LoggerOptionBuilder.initial();
}
LoggerBuilder.initial = function () {
return new LoggerBuilder();
};
LoggerBuilder.default = function () {
return LoggerBuilder.initial().get();
};
LoggerBuilder.load = function (logger) {
return LoggerBuilder.initial().withOption(LoggerOptionBuilder_1.LoggerOptionBuilder.load(logger.option).withRawType(logger.type).withRawSetting(logger.setting));
};
LoggerBuilder.prototype.withOption = function (builder) {
this.builder = builder;
return this;
};
LoggerBuilder.prototype.updateOption = function (builder) {
var newBuilder = builder(this.builder);
this.builder = newBuilder;
return this;
};
LoggerBuilder.prototype.get = function () {
return Logger_1.Logger.create(this.builder);
};
return LoggerBuilder;
}());
exports.LoggerBuilder = LoggerBuilder;
//# sourceMappingURL=LoggerBuilder.js.map