mirror of
https://github.com/PaulHatch/semantic-version.git
synced 2025-12-27 21:18:17 +00:00
37 lines
2.1 KiB
JavaScript
37 lines
2.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.ConfigurationProvider = void 0;
|
|
const CsvUserFormatter_1 = require("./formatting/CsvUserFormatter");
|
|
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");
|
|
class ConfigurationProvider {
|
|
constructor(config) {
|
|
this.config = 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() { 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;
|