// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. import Foundation extension Operations.AddPlaylistContentsRequest: Serializable { func serialize(with format: SerializableFormat) throws -> String { switch format { case .path: return try serializePathParameterSerializable(self, with: format) case .query: return try serializeQueryParameterSerializable(self, with: format) case .header, .multipart, .form: throw SerializationError.invalidSerializationParameter(type: "Operations.AddPlaylistContentsRequest", format: format.formatDescription) } } func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] { return try serializedQueryParameters(with: nil, formatOverride: format) } } extension Operations.AddPlaylistContentsRequest: PathParameterSerializable { func serializedPathParameters(formatOverride: SerializableFormat?) throws -> [String: String] { return [ "playlistID": try playlistIDWrapper.serialize(with: formatOverride ?? .path(explode: false)), ].compactMapValues { $0 } } } extension Operations.AddPlaylistContentsRequest: QueryParameterSerializable { func serializedQueryParameters(with parameterDefaults: ParameterDefaults?, formatOverride: SerializableFormat?) throws -> [QueryParameter] { let builder = QueryParameterBuilder() try builder.addQueryParameters(from: uri, named: "uri", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults) if playQueueID != nil { try builder.addQueryParameters(from: playQueueIDWrapper, named: "playQueueID", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults) } return builder.build() } }