toJson method

  1. @override
Map<String, dynamic> toJson()
override

Serializes a Metadata to its RWPM JSON representation.

Implementation

@override
Map<String, dynamic> toJson() => Map.from(additionalProperties)
  ..putOpt('identifier', identifier)
  ..putOpt('@type', rdfType)
  ..putIterableIfNotEmpty('conformsTo', conformsTo)
  ..putJSONableIfNotEmpty('title', localizedTitle)
  ..putJSONableIfNotEmpty('subtitle', localizedSubtitle)
  ..putOpt('modified', modified?.toIso8601String())
  ..putOpt('published', published?.toIso8601String())
  ..putIterableIfNotEmpty('language', languages)
  ..putJSONableIfNotEmpty('sortAs', localizedSortAs)
  ..put('subject', subjects.toSingleOrMultiJson())
  ..putOpt('author', authors.toSingleOrMultiJson())
  ..putOpt('translator', translators.toSingleOrMultiJson())
  ..putOpt('editor', editors.toSingleOrMultiJson())
  ..putOpt('artist', artists.toSingleOrMultiJson())
  ..putOpt('illustrator', illustrators.toSingleOrMultiJson())
  ..putOpt('letterer', letterers.toSingleOrMultiJson())
  ..putOpt('penciler', pencilers.toSingleOrMultiJson())
  ..putOpt('colorist', colorists.toSingleOrMultiJson())
  ..putOpt('inker', inkers.toSingleOrMultiJson())
  ..putOpt('narrator', narrators.toSingleOrMultiJson())
  ..putOpt('contributor', contributors.toSingleOrMultiJson())
  ..putOpt('publisher', publishers.toSingleOrMultiJson())
  ..putOpt('imprint', imprints.toSingleOrMultiJson())
  ..putOpt('readingProgression', readingProgression.name)
  ..putOpt('description', description)
  ..putOpt('duration', duration)
  ..putOpt('numberOfPages', numberOfPages)
  ..putOpt('layout', layout)
  ..putJSONableIfNotEmpty('belongsTo', belongsTo)
  ..putIterableIfNotEmpty('altIdentifier', altIdentifiers.toJsonList())
  ..putJSONableIfNotEmpty('contains', contains)
  ..putJSONableIfNotEmpty('tdm', tdm);