SecureStorageSample/SecureStorgageSample/StorageKeys/Platform/SyncableSettingKey.swift

24 lines
785 B
Swift

import Foundation
import LocalData
extension StorageKeys {
/// Syncable setting with configurable platform and sync policy.
/// Grouped under Platform to highlight availability/sync behavior.
struct SyncableSettingKey: StorageKey {
typealias Value = String
let name = "syncable_setting"
let domain: StorageDomain = .userDefaults(suite: nil)
let security: SecurityPolicy = .none
let serializer: Serializer<String> = .json
let owner = "SampleApp"
let availability: PlatformAvailability
let syncPolicy: SyncPolicy
init(availability: PlatformAvailability = .all, syncPolicy: SyncPolicy = .never) {
self.availability = availability
self.syncPolicy = syncPolicy
}
}
}