title: Default value for Codable property that does not exists with PropertyWrapper
body: <p>i created a propertyWrapper like this:</p>
  <pre class="lang-swift prettyprint-override"><code>@propertyWrapper
  public struct DefaultTodayDate: Codable {
      public var wrappedValue: Date
  
      private let dateFormatter: DateFormatter = {
          let formatter = DateFormatter()
          formatter.timeZone = TimeZone(secondsFromGMT: 0)
          formatter.locale = Locale(identifier: &quot;en_US_POSIX&quot;)
          formatter.dateFormat = &quot;y-MM-dd'T'HH:mm:ss&quot;
  
          return formatter
      }()
  
      public init(from decoder: Decoder) throws {
          let container = try decoder.singleValueContainer()
          var stringDate = &quot;&quot;
          do {
              stringDate = try container.decode(String.self)
              self.wrappedValue = self.dateFormatter.date(from: stringDate) ?? Date()
          } catch {
              self.wrappedValue = Date()
          }
      }
  
      public func encode(to encoder: Encoder) throws {
          try wrappedValue.encode(to: encoder)
      }
  }
  </code></pre>
  <p>and a model like this:</p>
  <pre class="lang-swift prettyprint-override"><code>struct MyModel: Codable {
      @DefaultTodayDate var date: Date
  }
  </code></pre>
  <p>so, if i want to parse this json file, everything is ok:</p>
  <pre class="lang-swift prettyprint-override"><code>let json = #&quot;{ &quot;date&quot;: &quot;2022-10-10T09:09:09&quot; }&quot;#.data(using: .utf8)!
  let result = try! JSONDecoder().decode(MyModel.self, from: json)
  
  print(result) // result.date is: 2022-10-10 09:09:09 +0000
  -----
  
  let json = #&quot;{ &quot;date&quot;: &quot;&quot; }&quot;#.data(using: .utf8)!
  let result = try! JSONDecoder().decode(MyModel.self, from: json)
  
  print(result) // result.date is: Date()
  -----
  
  let json = #&quot;{ &quot;date&quot;: null }&quot;#.data(using: .utf8)!
  let result = try! JSONDecoder().decode(MyModel.self, from: json)
  
  print(result) // result.date is: Date()
  
  </code></pre>
  <p>but i want to also parse a json without <code>date</code> property.but i get. fatal error:</p>
  <pre class="lang-swift prettyprint-override"><code>let json = #&quot;{ &quot;book&quot;: &quot;test&quot; }&quot;#.data(using: .utf8)!
  let result = try! JSONDecoder().decode(MyModel.self, from: json)
  
  // Fatal error: 'try!' expression unexpectedly raised an error: Swift.DecodingError.keyNotFound(CodingKeys(stringValue: &quot;date&quot;, intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: &quot;No value associated with key CodingKeys(stringValue: \&quot;date\&quot;, intValue: nil) (\&quot;date\&quot;).&quot;, underlyingError: nil))
  
  print(result) // i want to result.date be Date() 
  </code></pre>