changelog-guru
Version:
Git changelog generator
71 lines (70 loc) • 3.02 kB
JavaScript
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var _Entity_isIgnored, _Entity_level;
export var Compare;
(function (Compare) {
Compare[Compare["More"] = 1] = "More";
Compare[Compare["Less"] = -1] = "Less";
Compare[Compare["Equal"] = 0] = "Equal";
})(Compare || (Compare = {}));
export var ChangeLevel;
(function (ChangeLevel) {
ChangeLevel["Major"] = "major";
ChangeLevel["Minor"] = "minor";
ChangeLevel["Patch"] = "patch";
})(ChangeLevel || (ChangeLevel = {}));
export var Priority;
(function (Priority) {
Priority[Priority["High"] = 1000] = "High";
Priority[Priority["Medium"] = 100] = "Medium";
Priority[Priority["Low"] = 1] = "Low";
})(Priority || (Priority = {}));
const ENTITY_PRIORITY_MAP = {
[ChangeLevel.Major]: Priority.High,
[ChangeLevel.Minor]: Priority.Medium,
[ChangeLevel.Patch]: Priority.Low,
};
class Entity {
constructor(name = '') {
_Entity_isIgnored.set(this, false);
_Entity_level.set(this, ChangeLevel.Patch);
this.name = name;
}
static compare(a, b) {
return Math.min(Math.max(b.priority - a.priority, Compare.Less), Compare.More);
}
static filter(entity) {
return !entity.isEmpty && !entity.isIgnored;
}
get priority() {
return ENTITY_PRIORITY_MAP[__classPrivateFieldGet(this, _Entity_level, "f")];
}
get level() {
return __classPrivateFieldGet(this, _Entity_level, "f");
}
set level(level) {
if (ENTITY_PRIORITY_MAP[level])
__classPrivateFieldSet(this, _Entity_level, level, "f");
}
get isIgnored() {
return __classPrivateFieldGet(this, _Entity_isIgnored, "f");
}
set isIgnored(value) {
if (value)
__classPrivateFieldSet(this, _Entity_isIgnored, value, "f");
}
get isEmpty() {
return __classPrivateFieldGet(this, _Entity_isIgnored, "f");
}
}
_Entity_isIgnored = new WeakMap(), _Entity_level = new WeakMap();
export default Entity;