in src/tree/images/ImageProperties.ts [45:83]
export function getImagePropertyValue(item: DockerImage, property: ImageProperty): string {
const parsedFullTag = parseFullTag(item.Name);
let registry: string | undefined;
switch (property) {
case 'FullTag':
if (parsedFullTag.registry) {
return item.Name.replace(parsedFullTag.registry, truncateRegistry(parsedFullTag.registry));
} else {
return item.Name;
}
case 'ImageId':
return item.Id.replace('sha256:', '').slice(0, 12);
case 'Registry':
registry = parsedFullTag.registry;
if (!registry) {
registry = 'docker.io' + '/' + (parsedFullTag.namespace || 'library');
}
return truncateRegistry(registry);
case 'Repository':
registry = parsedFullTag.registry || parsedFullTag.namespace;
if (registry) {
return truncateRegistry(registry) + '/' + parsedFullTag.repositoryName;
} else {
return parsedFullTag.repositoryName;
}
case 'RepositoryName':
return parsedFullTag.repositoryName;
case 'RepositoryNameAndTag':
if (parsedFullTag.tag) {
return parsedFullTag.repositoryName + ':' + parsedFullTag.tag;
} else {
return parsedFullTag.repositoryName;
}
case 'Tag':
return parsedFullTag.tag || 'latest';
default:
return getCommonPropertyValue(item, property);
}
}