export function getImagePropertyValue()

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);
    }
}