File size: 728 Bytes
b8370f5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import Foundation
extension OpenClawChatSQLiteTranscriptCache {
nonisolated static func encodeSessionSettingsExpectation(
_ expectation: OpenClawChatSessionSettingsExpectation?) -> String?
{
guard let expectation,
let data = try? JSONEncoder().encode(expectation)
else { return nil }
return String(bytes: data, encoding: .utf8)
}
nonisolated static func decodeSessionSettingsExpectation(
_ raw: String?) throws -> OpenClawChatSessionSettingsExpectation?
{
guard let raw, !raw.isEmpty else { return nil }
return try JSONDecoder().decode(
OpenClawChatSessionSettingsExpectation.self,
from: Data(raw.utf8))
}
}
|