renovate
Version:
Automated dependency updates. Flexible so you don't need to be.
38 lines (37 loc) • 1.11 kB
JavaScript
import { regEx } from "../../../util/regex.js";
import { isVersion, parseRange, rangeToStr } from "../maven/compare.js";
//#region lib/modules/versioning/ivy/parse.ts
const REV_TYPE_LATEST = "REV_TYPE_LATEST";
const REV_TYPE_SUBREV = "REV_TYPE_SUBREVISION";
const REV_TYPE_RANGE = "REV_TYPE_RANGE";
const LATEST_REGEX = regEx(/^latest\.|^latest$/i);
function parseDynamicRevision(str) {
if (!str) return null;
if (LATEST_REGEX.test(str)) {
const value = str.replace(LATEST_REGEX, "").toLowerCase() || "";
return {
type: REV_TYPE_LATEST,
value: value === "integration" ? "" : value
};
}
const SUBREV_REGEX = regEx(/\.\+$/);
if (str.endsWith(".+")) {
const value = str.replace(SUBREV_REGEX, "");
if (isVersion(value)) return {
type: REV_TYPE_SUBREV,
value
};
}
const range = parseRange(str);
if (range?.length === 1) {
const rangeValue = rangeToStr(range);
if (rangeValue) return {
type: REV_TYPE_RANGE,
value: rangeValue
};
}
return null;
}
//#endregion
export { LATEST_REGEX, REV_TYPE_LATEST, REV_TYPE_SUBREV, parseDynamicRevision };
//# sourceMappingURL=parse.js.map