use serde::{Deserialize, Serialize};

pub const ICON_ROOT: &str = "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources";

pub const ICON_AR_DOCUMENT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ARDocument.icns";
pub const ICON_AR_OBJECT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ARObject.icns";
pub const ICON_ACCOUNTS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Accounts.icns";
pub const ICON_ACTIONS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Actions.icns";
pub const ICON_AIRDROP: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AirDrop.icns";
pub const ICON_ALERT_CAUTION_BADGE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertCautionBadgeIcon.icns";
pub const ICON_ALERT_NOTE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertNoteIcon.icns";
pub const ICON_ALERT_STOP: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AlertStopIcon.icns";
pub const ICON_ALIAS_BADGE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AliasBadgeIcon.icns";
pub const ICON_ALL_MY_FILES: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AllMyFiles.icns";
pub const ICON_APPLE_TRACE_FILE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/AppleTraceFile.icns";
pub const ICON_APPLICATIONS_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ApplicationsFolderIcon.icns";
pub const ICON_BACKWARD_ARROW: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/BackwardArrowIcon.icns";
pub const ICON_BONJOUR: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Bonjour.icns";
pub const ICON_BOOKMARK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/BookmarkIcon.icns";
pub const ICON_BURNABLE_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/BurnableFolderIcon.icns";
pub const ICON_BURNING: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/BurningIcon.icns";
pub const ICON_CD_AUDIO_VOLUME: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/CDAudioVolumeIcon.icns";
pub const ICON_CLIPPING_PICTURE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ClippingPicture.icns";
pub const ICON_CLIPPING_SOUND: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ClippingSound.icns";
pub const ICON_CLIPPING_TEXT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ClippingText.icns";
pub const ICON_CLIPPING_UNKNOWN: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ClippingUnknown.icns";
pub const ICON_CLOCK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Clock.icns";
pub const ICON_COLOR_SYNC_PROFILE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ColorSyncProfileIcon.icns";
pub const ICON_CONNECT_TO: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ConnectToIcon.icns";
pub const ICON_DESKTOP_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/DesktopFolderIcon.icns";
pub const ICON_DEVELOPER_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/DeveloperFolderIcon.icns";
pub const ICON_DOCUMENTS_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/DocumentsFolderIcon.icns";
pub const ICON_DOWNLOADS_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/DownloadsFolder.icns";
pub const ICON_DROP_FOLDER_BADGE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/DropFolderBadgeIcon.icns";
pub const ICON_EJECT_MEDIA: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/EjectMediaIcon.icns";
pub const ICON_ERASING: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ErasingIcon.icns";
pub const ICON_EVERYONE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Everyone.icns";
pub const ICON_EXECUTABLE_BINARY: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ExecutableBinaryIcon.icns";
pub const ICON_FAVORITE_ITEMS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/FavoriteItemsIcon.icns";
pub const ICON_FILE_VAULT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/FileVaultIcon.icns";
pub const ICON_FINDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/FinderIcon.icns";
pub const ICON_FORWARD_ARROW: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ForwardArrowIcon.icns";
pub const ICON_FULL_TRASH: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/FullTrashIcon.icns";
pub const ICON_GENERAL: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/General.icns";
pub const ICON_GENERIC_AIR_DISK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericAirDiskIcon.icns";
pub const ICON_GENERIC_APPLICATION: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericApplicationIcon.icns";
pub const ICON_GENERIC_DOCUMENT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericDocumentIcon.icns";
pub const ICON_GENERIC_FILE_SERVER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericFileServerIcon.icns";
pub const ICON_GENERIC_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericFolderIcon.icns";
pub const ICON_GENERIC_FONT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericFontIcon.icns";
pub const ICON_GENERIC_NETWORK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericNetworkIcon.icns";
pub const ICON_GENERIC_QUESTION_MARK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericQuestionMarkIcon.icns";
pub const ICON_GENERIC_SHAREPOINT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericSharepoint.icns";
pub const ICON_GENERIC_SPEAKER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericSpeaker.icns";
pub const ICON_GENERIC_STATIONERY: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericStationeryIcon.icns";
pub const ICON_GENERIC_TIME_MACHINE_DISK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericTimeMachineDiskIcon.icns";
pub const ICON_GENERIC_URL: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericURLIcon.icns";
pub const ICON_GENERIC_WINDOW: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericWindowIcon.icns";
pub const ICON_GRID: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GridIcon.icns";
pub const ICON_GROUP_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GroupFolder.icns";
pub const ICON_GROUP: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GroupIcon.icns";
pub const ICON_GUEST_USER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GuestUserIcon.icns";
pub const ICON_HELP: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/HelpIcon.icns";
pub const ICON_HOME_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/HomeFolderIcon.icns";
pub const ICON_INTERNET_LOCATION: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/InternetLocation.icns";
pub const ICON_KEXT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/KEXT.icns";
pub const ICON_KEEP_ARRANGED: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/KeepArrangedIcon.icns";
pub const ICON_LIBRARY_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/LibraryFolderIcon.icns";
pub const ICON_LOCKED_BADGE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/LockedBadgeIcon.icns";
pub const ICON_LOCKED: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/LockedIcon.icns";
pub const ICON_MAGNIFYING_GLASS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/MagnifyingGlassIcon.icns";
pub const ICON_MOVIE_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/MovieFolderIcon.icns";
pub const ICON_MULTIPLE_ITEMS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/MultipleItemsIcon.icns";
pub const ICON_MUSIC_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/MusicFolderIcon.icns";
pub const ICON_NET_BOOT_VOLUME: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/NetBootVolume.icns";
pub const ICON_NEW_FOLDER_BADGE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/NewFolderBadgeIcon.icns";
pub const ICON_NO_WRITE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/NoWriteIcon.icns";
pub const ICON_NOT_LOADED: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/NotLoaded.icns";
pub const ICON_NOTIFICATIONS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Notifications.icns";
pub const ICON_OPEN_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/OpenFolderIcon.icns";
pub const ICON_PICTURES_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/PicturesFolderIcon.icns";
pub const ICON_PRIVATE_FOLDER_BADGE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/PrivateFolderBadgeIcon.icns";
pub const ICON_PROBLEM_REPORT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ProblemReport.icns";
pub const ICON_PROFILE_BACKGROUND_COLOR: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ProfileBackgroundColor.icns";
pub const ICON_PROFILE_FONT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ProfileFont.icns";
pub const ICON_PROFILE_FONT_AND_COLOR: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ProfileFontAndColor.icns";
pub const ICON_PUBLIC_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/PublicFolderIcon.icns";
pub const ICON_READ_ONLY_FOLDER_BADGE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ReadOnlyFolderBadgeIcon.icns";
pub const ICON_REALITY_FILE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/RealityFile.icns";
pub const ICON_RECENT_ITEMS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/RecentItemsIcon.icns";
pub const ICON_RIGHT_CONTAINER_ARROW: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/RightContainerArrowIcon.icns";
pub const ICON_SERVER_APPLICATIONS_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ServerApplicationsFolderIcon.icns";
pub const ICON_SIDEBAR_AIRDROP: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarAirDrop.icns";
pub const ICON_SIDEBAR_AIRPORT_DISK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarAirportDisk.icns";
pub const ICON_SIDEBAR_AIRPORT_EXPRESS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarAirportExpress.icns";
pub const ICON_SIDEBAR_AIRPORT_EXTREME: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarAirportExtreme.icns";
pub const ICON_SIDEBAR_AIRPORT_EXTREME_TOWER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarAirportExtremeTower.icns";
pub const ICON_SIDEBAR_ALL_MY_FILES: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarAllMyFiles.icns";
pub const ICON_SIDEBAR_APPLICATIONS_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarApplicationsFolder.icns";
pub const ICON_SIDEBAR_BONJOUR: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarBonjour.icns";
pub const ICON_SIDEBAR_BURN_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarBurnFolder.icns";
pub const ICON_SIDEBAR_DESKTOP_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarDesktopFolder.icns";
pub const ICON_SIDEBAR_DISPLAY: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarDisplay.icns";
pub const ICON_SIDEBAR_DOCUMENTS_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarDocumentsFolder.icns";
pub const ICON_SIDEBAR_DOWNLOADS_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarDownloadsFolder.icns";
pub const ICON_SIDEBAR_DROPBOX_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarDropBoxFolder.icns";
pub const ICON_SIDEBAR_EXTERNAL_DISK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarExternalDisk.icns";
pub const ICON_SIDEBAR_GENERIC_FILE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarGenericFile.icns";
pub const ICON_SIDEBAR_GENERIC_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarGenericFolder.icns";
pub const ICON_SIDEBAR_HOME_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarHomeFolder.icns";
pub const ICON_SIDEBAR_INTERNAL_DISK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarInternalDisk.icns";
pub const ICON_SIDEBAR_LAPTOP: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarLaptop.icns";
pub const ICON_SIDEBAR_MAC_MINI: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarMacMini.icns";
pub const ICON_SIDEBAR_MAC_PRO: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarMacPro.icns";
pub const ICON_SIDEBAR_MAC_PRO_CYLINDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarMacProCylinder.icns";
pub const ICON_SIDEBAR_MOVIES_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarMoviesFolder.icns";
pub const ICON_SIDEBAR_MUSIC_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarMusicFolder.icns";
pub const ICON_SIDEBAR_NETWORK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarNetwork.icns";
pub const ICON_SIDEBAR_OPTICAL_DISK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarOpticalDisk.icns";
pub const ICON_SIDEBAR_PC: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarPC.icns";
pub const ICON_SIDEBAR_PICTURES_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarPicturesFolder.icns";
pub const ICON_SIDEBAR_PREFS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarPrefs.icns";
pub const ICON_SIDEBAR_RECENTS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarRecents.icns";
pub const ICON_SIDEBAR_REMOVABLE_DISK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarRemovableDisk.icns";
pub const ICON_SIDEBAR_SERVER_DRIVE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarServerDrive.icns";
pub const ICON_SIDEBAR_SMART_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarSmartFolder.icns";
pub const ICON_SIDEBAR_TIME_CAPSULE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarTimeCapsule.icns";
pub const ICON_SIDEBAR_TIME_MACHINE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarTimeMachine.icns";
pub const ICON_SIDEBAR_UTILITIES_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarUtilitiesFolder.icns";
pub const ICON_SIDEBAR_XSERVE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarXserve.icns";
pub const ICON_SIDEBAR_ICLOUD: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebariCloud.icns";
pub const ICON_SIDEBAR_IDISK: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebariDisk.icns";
pub const ICON_SIDEBAR_IMAC: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebariMac.icns";
pub const ICON_SIDEBAR_IPAD: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebariPad.icns";
pub const ICON_SIDEBAR_IPHONE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebariPhone.icns";
pub const ICON_SIDEBAR_IPOD_TOUCH: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebariPodTouch.icns";
pub const ICON_SITES_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SitesFolderIcon.icns";
pub const ICON_SMART_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SmartFolderIcon.icns";
pub const ICON_SYNC: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Sync.icns";
pub const ICON_SYSTEM_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SystemFolderIcon.icns";
pub const ICON_TOOLBAR_ADVANCED: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarAdvanced.icns";
pub const ICON_TOOLBAR_CUSTOMIZE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarCustomizeIcon.icns";
pub const ICON_TOOLBAR_DELETE: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarDeleteIcon.icns";
pub const ICON_TOOLBAR_FAVORITES: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarFavoritesIcon.icns";
pub const ICON_TOOLBAR_INFO: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarInfo.icns";
pub const ICON_TOOLBAR_LABELS: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarLabels.icns";
pub const ICON_TRASH: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/TrashIcon.icns";
pub const ICON_UNKNOWN_FS_OBJECT: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/UnknownFSObjectIcon.icns";
pub const ICON_UNLOCKED: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/UnlockedIcon.icns";
pub const ICON_UNSUPPORTED: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Unsupported.icns";
pub const ICON_USER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/UserIcon.icns";
pub const ICON_USER_UNKNOWN: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/UserUnknownIcon.icns";
pub const ICON_USERS_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/UsersFolderIcon.icns";
pub const ICON_UTILITIES_FOLDER: &str =
    "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/UtilitiesFolder.icns";

#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct Icon {
    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
    pub(crate) type_: Option<String>,

    pub(crate) path: String,
}

impl<T: ToString> From<T> for Icon {
    fn from(path: T) -> Self {
        Icon {
            type_: None,
            path: path.to_string(),
        }
    }
}
