@@ -44,23 +44,11 @@ public enum RemoteConfigCodableError: Error {
44
44
}
45
45
46
46
public extension RemoteConfig {
47
- /// Decodes the given type from the respective Remote Config values.
47
+ /// Decodes a struct from the respective Remote Config values.
48
48
///
49
49
/// - Parameter asType: The type to decode to.
50
- /// - Throws: An error if the decoding fails.
51
- /// - Returns: The decoded value; otherwise, an error if one occurred.
52
- func decoded< Value: Decodable > ( asType: Value . Type = Value . self) throws -> Value {
53
- try decoded ( asType: asType, decoder: FirebaseDataDecoder ( ) )
54
- }
55
-
56
- /// Decodes the given type from the respective Remote Config values.
57
- /// - Parameters:
58
- /// - asType: The type to decode to.
59
- /// - decoder: The encoder to use to decode the given type.
60
- /// - Throws: An error if the decoding fails.
61
- /// - Returns: The decoded value; otherwise, an error if one occurred.
62
50
func decoded< Value: Decodable > ( asType: Value . Type = Value . self,
63
- decoder: FirebaseDataDecoder ) throws -> Value {
51
+ decoder: FirebaseDataDecoder = . init ( ) ) throws -> Value {
64
52
let keys = allKeys ( from: RemoteConfigSource . default) + allKeys( from: RemoteConfigSource . remote)
65
53
let config = keys. reduce ( into: [ String: FirebaseRemoteConfigValueDecoderHelper] ( ) ) {
66
54
$0 [ $1] = FirebaseRemoteConfigValueDecoderHelper ( value: configValue ( forKey: $1) )
@@ -71,18 +59,8 @@ public extension RemoteConfig {
71
59
/// Sets config defaults from an encodable struct.
72
60
///
73
61
/// - Parameter value: The object to use to set the defaults.
74
- /// - Throws: An error if the encoding fails.
75
- func setDefaults< Value: Encodable > ( from value: Value ) throws {
76
- try setDefaults ( from: value, encoder: FirebaseDataEncoder ( ) )
77
- }
78
-
79
- /// Sets config defaults from an encodable struct.
80
- /// - Parameters:
81
- /// - value: The object to use to set the defaults.
82
- /// - encoder: The encoder to use to encode the given object.
83
- /// - Throws: An error if the encoding fails.
84
62
func setDefaults< Value: Encodable > ( from value: Value ,
85
- encoder: FirebaseDataEncoder ) throws {
63
+ encoder: FirebaseDataEncoder = . init ( ) ) throws {
86
64
guard let encoded = try encoder. encode ( value) as? [ String : NSObject ] else {
87
65
throw RemoteConfigCodableError . invalidSetDefaultsInput (
88
66
" The setDefaults input: \( value) , must be a Struct that encodes to a Dictionary "
0 commit comments