chore: rename project to clawdbot
This commit is contained in:
16
apps/macos/Sources/Clawdbot/GatewayPayloadDecoding.swift
Normal file
16
apps/macos/Sources/Clawdbot/GatewayPayloadDecoding.swift
Normal file
@@ -0,0 +1,16 @@
|
||||
import ClawdbotProtocol
|
||||
import Foundation
|
||||
|
||||
enum GatewayPayloadDecoding {
|
||||
static func decode<T: Decodable>(_ payload: ClawdbotProtocol.AnyCodable, as _: T.Type = T.self) throws -> T {
|
||||
let data = try JSONEncoder().encode(payload)
|
||||
return try JSONDecoder().decode(T.self, from: data)
|
||||
}
|
||||
|
||||
static func decodeIfPresent<T: Decodable>(_ payload: ClawdbotProtocol.AnyCodable?, as _: T.Type = T.self) throws
|
||||
-> T?
|
||||
{
|
||||
guard let payload else { return nil }
|
||||
return try self.decode(payload, as: T.self)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user