namespace InABox.Core
{
    public class DFLayoutPasswordFieldProperties : DFLayoutFieldProperties<string, string?>
    {
        public override string FormatValue(string? value)
        {
            return value ?? "";
        }

        public override string? DeserializeValue(DFLoadStorageEntry entry)
        {
            return entry.GetValue<string>();
        }

        public override void SerializeValue(DFSaveStorageEntry entry, string? value)
        {
            entry.SetValue(value);
        }

        public override string GetValue(string? value)
        {
            return value ?? Default;
        }
    }
}