/ src / modules / cmdpal / Core / Microsoft.CmdPal.Core.ViewModels / LogMessageViewModel.cs
LogMessageViewModel.cs
 1  // Copyright (c) Microsoft Corporation
 2  // The Microsoft Corporation licenses this file to you under the MIT license.
 3  // See the LICENSE file in the project root for more information.
 4  
 5  using Microsoft.CmdPal.Core.ViewModels.Models;
 6  using Microsoft.CommandPalette.Extensions;
 7  
 8  namespace Microsoft.CmdPal.Core.ViewModels;
 9  
10  public partial class LogMessageViewModel : ExtensionObjectViewModel
11  {
12      private readonly ExtensionObject<ILogMessage> _model;
13  
14      public string Message { get; private set; } = string.Empty;
15  
16      public LogMessageViewModel(ILogMessage message, IPageContext context)
17          : base(context)
18      {
19          _model = new(message);
20      }
21  
22      public override void InitializeProperties()
23      {
24          var model = _model.Unsafe;
25          if (model is null)
26          {
27              return; // throw?
28          }
29  
30          Message = model.Message;
31      }
32  }