mirror of
https://github.com/PaulHatch/semantic-version.git
synced 2025-12-27 04:58:17 +00:00
55 lines
2.6 KiB
JavaScript
55 lines
2.6 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.ConfigurationProvider = void 0;
|
|
const CsvUserFormatter_1 = require("./formatting/CsvUserFormatter");
|
|
const BranchVersioningTagFormatter_1 = require("./formatting/BranchVersioningTagFormatter");
|
|
const DefaultTagFormatter_1 = require("./formatting/DefaultTagFormatter");
|
|
const DefaultVersionFormatter_1 = require("./formatting/DefaultVersionFormatter");
|
|
const JsonUserFormatter_1 = require("./formatting/JsonUserFormatter");
|
|
const DefaultCommitsProvider_1 = require("./providers/DefaultCommitsProvider");
|
|
const DefaultCurrentCommitResolver_1 = require("./providers/DefaultCurrentCommitResolver");
|
|
const DefaultVersionClassifier_1 = require("./providers/DefaultVersionClassifier");
|
|
const DefaultLastReleaseResolver_1 = require("./providers/DefaultLastReleaseResolver");
|
|
const BumpAlwaysVersionClassifier_1 = require("./providers/BumpAlwaysVersionClassifier");
|
|
const DebugManager_1 = require("./DebugManager");
|
|
class ConfigurationProvider {
|
|
constructor(config) {
|
|
this.config = config;
|
|
DebugManager_1.DebugManager.getInstance().initializeConfig(config);
|
|
}
|
|
GetCurrentCommitResolver() {
|
|
return new DefaultCurrentCommitResolver_1.DefaultCurrentCommitResolver(this.config);
|
|
}
|
|
GetLastReleaseResolver() {
|
|
return new DefaultLastReleaseResolver_1.DefaultLastReleaseResolver(this.config);
|
|
}
|
|
GetCommitsProvider() {
|
|
return new DefaultCommitsProvider_1.DefaultCommitsProvider(this.config);
|
|
}
|
|
GetVersionClassifier() {
|
|
if (this.config.bumpEachCommit) {
|
|
return new BumpAlwaysVersionClassifier_1.BumpAlwaysVersionClassifier(this.config);
|
|
}
|
|
return new DefaultVersionClassifier_1.DefaultVersionClassifier(this.config);
|
|
}
|
|
GetVersionFormatter() {
|
|
return new DefaultVersionFormatter_1.DefaultVersionFormatter(this.config);
|
|
}
|
|
GetTagFormatter(branchName) {
|
|
if (this.config.versionFromBranch) {
|
|
return new BranchVersioningTagFormatter_1.BranchVersioningTagFormatter(this.config, branchName);
|
|
}
|
|
return new DefaultTagFormatter_1.DefaultTagFormatter(this.config);
|
|
}
|
|
GetUserFormatter() {
|
|
switch (this.config.userFormatType) {
|
|
case "json":
|
|
return new JsonUserFormatter_1.JsonUserFormatter(this.config);
|
|
case "csv":
|
|
return new CsvUserFormatter_1.CsvUserFormatter(this.config);
|
|
default:
|
|
throw new Error(`Unknown user format type: ${this.config.userFormatType}, supported types: json, csv`);
|
|
}
|
|
}
|
|
}
|
|
exports.ConfigurationProvider = ConfigurationProvider;
|