swift-nio/Sources/NIOFoundationCompat/JSONSerialization+ByteBuffe...

32 lines
1.2 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the SwiftNIO open source project
//
// Copyright (c) 2021 Apple Inc. and the SwiftNIO project authors
// Licensed under Apache License v2.0
//
// See LICENSE.txt for license information
// See CONTRIBUTORS.txt for the list of SwiftNIO project authors
//
// SPDX-License-Identifier: Apache-2.0
//
//===----------------------------------------------------------------------===//
import NIOCore
import Foundation
extension JSONSerialization {
/// Attempts to derive a Foundation object from a ByteBuffer and return it as `T`.
///
/// - parameters:
/// - buffer: The ByteBuffer being used to derive the Foundation type.
/// - options: The reading option used when the parser derives the Foundation type from the ByteBuffer.
/// - returns: The Foundation value if successful or `nil` if there was an issue creating the Foundation type.
@inlinable
public static func jsonObject(with buffer: ByteBuffer,
options opt: JSONSerialization.ReadingOptions = []) throws -> Any {
return try JSONSerialization.jsonObject(with: Data(buffer: buffer), options: opt)
}
}