//
//  Encodable+Extensions.swift
//  blaze-rtn-sdk
//
//  Created by Paz Shmider on 30/05/2024.
//

import Foundation

extension Encodable {
    /// This will return a Json String representing this object, or `nil` if it failed parsing it.
    public var asJsonString: String? {
        let encoder = JSONEncoder()
        encoder.outputFormatting = .prettyPrinted
        guard let jsonData = try? encoder.encode(self) else {
            return nil
        }
        let jsonString = String(data: jsonData, encoding: .utf8)
        return jsonString
    }
}
