"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sortImageVersionsIfSemantic = void 0; const SEMVER_PATTERN = /^[0-9]+\.[0-9]+\.[0-9]+$/; const semverSortKey = (value) => value.split(".").map((part) => Number.parseInt(part, 10)); const sortImageVersionsIfSemantic = (versions) => { if (!versions.every((value) => SEMVER_PATTERN.test(value))) { return [...versions].sort((a, b) => a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" })); } return [...versions].sort((a, b) => { const aParts = semverSortKey(a); const bParts = semverSortKey(b); for (let i = 0; i < aParts.length; i += 1) { if (aParts[i] !== bParts[i]) { return aParts[i] - bParts[i]; } } return 0; }); }; exports.sortImageVersionsIfSemantic = sortImageVersionsIfSemantic;