
commonMain.aws.sdk.kotlin.services.ssmcontacts.serde.RecurrenceSettingsDocumentDeserializer.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.ssmcontacts.serde
import aws.sdk.kotlin.services.ssmcontacts.model.CoverageTime
import aws.sdk.kotlin.services.ssmcontacts.model.DayOfWeek
import aws.sdk.kotlin.services.ssmcontacts.model.HandOffTime
import aws.sdk.kotlin.services.ssmcontacts.model.MonthlySetting
import aws.sdk.kotlin.services.ssmcontacts.model.RecurrenceSettings
import aws.sdk.kotlin.services.ssmcontacts.model.WeeklySetting
import aws.smithy.kotlin.runtime.serde.Deserializer
import aws.smithy.kotlin.runtime.serde.SdkFieldDescriptor
import aws.smithy.kotlin.runtime.serde.SdkObjectDescriptor
import aws.smithy.kotlin.runtime.serde.SerialKind
import aws.smithy.kotlin.runtime.serde.asSdkSerializable
import aws.smithy.kotlin.runtime.serde.deserializeList
import aws.smithy.kotlin.runtime.serde.deserializeMap
import aws.smithy.kotlin.runtime.serde.deserializeStruct
import aws.smithy.kotlin.runtime.serde.field
import aws.smithy.kotlin.runtime.serde.json.JsonDeserializer
import aws.smithy.kotlin.runtime.serde.json.JsonSerialName
import aws.smithy.kotlin.runtime.serde.serializeList
import aws.smithy.kotlin.runtime.serde.serializeMap
import aws.smithy.kotlin.runtime.serde.serializeStruct
import kotlin.collections.mutableListOf
import kotlin.collections.mutableMapOf
internal fun deserializeRecurrenceSettingsDocument(deserializer: Deserializer): RecurrenceSettings {
val builder = RecurrenceSettings.Builder()
val DAILYSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("DailySettings"))
val MONTHLYSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("MonthlySettings"))
val NUMBEROFONCALLS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("NumberOfOnCalls"))
val RECURRENCEMULTIPLIER_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Integer, JsonSerialName("RecurrenceMultiplier"))
val SHIFTCOVERAGES_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Map, JsonSerialName("ShiftCoverages"))
val SHIFTCOVERAGES_C0_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List)
val WEEKLYSETTINGS_DESCRIPTOR = SdkFieldDescriptor(SerialKind.List, JsonSerialName("WeeklySettings"))
val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
field(DAILYSETTINGS_DESCRIPTOR)
field(MONTHLYSETTINGS_DESCRIPTOR)
field(NUMBEROFONCALLS_DESCRIPTOR)
field(RECURRENCEMULTIPLIER_DESCRIPTOR)
field(SHIFTCOVERAGES_DESCRIPTOR)
field(WEEKLYSETTINGS_DESCRIPTOR)
}
deserializer.deserializeStruct(OBJ_DESCRIPTOR) {
loop@while (true) {
when (findNextFieldIndex()) {
DAILYSETTINGS_DESCRIPTOR.index -> builder.dailySettings =
deserializer.deserializeList(DAILYSETTINGS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeHandOffTimeDocument(deserializer) } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
MONTHLYSETTINGS_DESCRIPTOR.index -> builder.monthlySettings =
deserializer.deserializeList(MONTHLYSETTINGS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeMonthlySettingDocument(deserializer) } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
NUMBEROFONCALLS_DESCRIPTOR.index -> builder.numberOfOnCalls = deserializeInt()
RECURRENCEMULTIPLIER_DESCRIPTOR.index -> builder.recurrenceMultiplier = deserializeInt()
SHIFTCOVERAGES_DESCRIPTOR.index -> builder.shiftCoverages =
deserializer.deserializeMap(SHIFTCOVERAGES_DESCRIPTOR) {
val map0 = mutableMapOf>()
while (hasNextEntry()) {
val k0 = DayOfWeek.fromValue(key())
val v0 =
if (nextHasValue()) {
deserializer.deserializeList(SHIFTCOVERAGES_C0_DESCRIPTOR) {
val col1 = mutableListOf()
while (hasNextElement()) {
val el1 = if (nextHasValue()) { deserializeCoverageTimeDocument(deserializer) } else { deserializeNull(); continue }
col1.add(el1)
}
col1
}
} else { deserializeNull(); continue }
map0[k0] = v0
}
map0
}
WEEKLYSETTINGS_DESCRIPTOR.index -> builder.weeklySettings =
deserializer.deserializeList(WEEKLYSETTINGS_DESCRIPTOR) {
val col0 = mutableListOf()
while (hasNextElement()) {
val el0 = if (nextHasValue()) { deserializeWeeklySettingDocument(deserializer) } else { deserializeNull(); continue }
col0.add(el0)
}
col0
}
null -> break@loop
else -> skipValue()
}
}
}
builder.correctErrors()
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy