keypropdecode 2.0.3

A library for decoding Windows file system elements attributes constants
Documentation
use std::fmt::Display;

use crate::props::ArcDir;
use crate::Props;
impl Display for Props {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let directory = match self.element_type {
            ArcDir::Directory => true,
            ArcDir::Archive(_) => false,
        };
        let read_only = if let ArcDir::Archive(arc_props) = self.element_type {
            arc_props.read_only
        } else {
            false
        };
        write!(
            f,
            "{}{}{}{}{}{}",
            if directory { 'd' } else { '-' },
            if !directory { 'a' } else { '-' },
            if read_only { 'r' } else { '-' },
            if self.hidden { 'h' } else { '-' },
            if self.system { 's' } else { '-' },
            if self.reparse { 'l' } else { '-' }
        )
    }
}