// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'getTimetableParams.dart';

// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************

GetTimetableParams _$GetTimetableParamsFromJson(Map<String, dynamic> json) =>
    GetTimetableParams(
      options: GetTimetableParamsOptions.fromJson(
          json['options'] as Map<String, dynamic>),
    );

Map<String, dynamic> _$GetTimetableParamsToJson(GetTimetableParams instance) =>
    <String, dynamic>{
      'options': instance.options.toJson(),
    };

GetTimetableParamsOptions _$GetTimetableParamsOptionsFromJson(
        Map<String, dynamic> json) =>
    GetTimetableParamsOptions(
      element: GetTimetableParamsOptionsElement.fromJson(
          json['element'] as Map<String, dynamic>),
      startDate: (json['startDate'] as num?)?.toInt(),
      endDate: (json['endDate'] as num?)?.toInt(),
      onlyBaseTimetable: json['onlyBaseTimetable'] as bool?,
      showBooking: json['showBooking'] as bool?,
      showInfo: json['showInfo'] as bool?,
      showSubstText: json['showSubstText'] as bool?,
      showLsText: json['showLsText'] as bool?,
      showLsNumber: json['showLsNumber'] as bool?,
      showStudentgroup: json['showStudentgroup'] as bool?,
      klasseFields: (json['klasseFields'] as List<dynamic>?)
          ?.map((e) => $enumDecode(_$GetTimetableParamsOptionsFieldsEnumMap, e))
          .toList(),
      roomFields: (json['roomFields'] as List<dynamic>?)
          ?.map((e) => $enumDecode(_$GetTimetableParamsOptionsFieldsEnumMap, e))
          .toList(),
      subjectFields: (json['subjectFields'] as List<dynamic>?)
          ?.map((e) => $enumDecode(_$GetTimetableParamsOptionsFieldsEnumMap, e))
          .toList(),
      teacherFields: (json['teacherFields'] as List<dynamic>?)
          ?.map((e) => $enumDecode(_$GetTimetableParamsOptionsFieldsEnumMap, e))
          .toList(),
    );

Map<String, dynamic> _$GetTimetableParamsOptionsToJson(
        GetTimetableParamsOptions instance) =>
    <String, dynamic>{
      'element': instance.element.toJson(),
      if (instance.startDate case final value?) 'startDate': value,
      if (instance.endDate case final value?) 'endDate': value,
      if (instance.onlyBaseTimetable case final value?)
        'onlyBaseTimetable': value,
      if (instance.showBooking case final value?) 'showBooking': value,
      if (instance.showInfo case final value?) 'showInfo': value,
      if (instance.showSubstText case final value?) 'showSubstText': value,
      if (instance.showLsText case final value?) 'showLsText': value,
      if (instance.showLsNumber case final value?) 'showLsNumber': value,
      if (instance.showStudentgroup case final value?)
        'showStudentgroup': value,
      if (instance.klasseFields
              ?.map((e) => _$GetTimetableParamsOptionsFieldsEnumMap[e]!)
              .toList()
          case final value?)
        'klasseFields': value,
      if (instance.roomFields
              ?.map((e) => _$GetTimetableParamsOptionsFieldsEnumMap[e]!)
              .toList()
          case final value?)
        'roomFields': value,
      if (instance.subjectFields
              ?.map((e) => _$GetTimetableParamsOptionsFieldsEnumMap[e]!)
              .toList()
          case final value?)
        'subjectFields': value,
      if (instance.teacherFields
              ?.map((e) => _$GetTimetableParamsOptionsFieldsEnumMap[e]!)
              .toList()
          case final value?)
        'teacherFields': value,
    };

const _$GetTimetableParamsOptionsFieldsEnumMap = {
  GetTimetableParamsOptionsFields.id: 'id',
  GetTimetableParamsOptionsFields.name: 'name',
  GetTimetableParamsOptionsFields.longname: 'longname',
  GetTimetableParamsOptionsFields.externalkey: 'externalkey',
};

GetTimetableParamsOptionsElement _$GetTimetableParamsOptionsElementFromJson(
        Map<String, dynamic> json) =>
    GetTimetableParamsOptionsElement(
      id: (json['id'] as num).toInt(),
      type: (json['type'] as num).toInt(),
      keyType: $enumDecodeNullable(
          _$GetTimetableParamsOptionsElementKeyTypeEnumMap, json['keyType']),
    );

Map<String, dynamic> _$GetTimetableParamsOptionsElementToJson(
        GetTimetableParamsOptionsElement instance) =>
    <String, dynamic>{
      'id': instance.id,
      'type': instance.type,
      if (_$GetTimetableParamsOptionsElementKeyTypeEnumMap[instance.keyType]
          case final value?)
        'keyType': value,
    };

const _$GetTimetableParamsOptionsElementKeyTypeEnumMap = {
  GetTimetableParamsOptionsElementKeyType.id: 'id',
  GetTimetableParamsOptionsElementKeyType.name: 'name',
  GetTimetableParamsOptionsElementKeyType.externalkey: 'externalkey',
};