content: // Copyright (c) 2015, Google Inc. Please see the AUTHORS file for details.
  // All rights reserved. Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  library serializers;
  
  import 'package:built_value/serializer.dart';
  import 'package:built_value/iso_8601_date_time_serializer.dart';
  import 'package:built_value/standard_json_plugin.dart';
  
  import 'package:couchbase_lite_example/models/serializers/boolean_serializer.dart';
  import 'package:couchbase_lite_example/models/database/brewery.dart';
  import 'package:couchbase_lite_example/models/database/beer.dart';
  
  part 'serializers.g.dart';
  
  /// Example of how to use built_value serialization.
  ///
  /// Declare a top level [Serializers] field called serializers. Annotate it
  /// with [SerializersFor] and provide a `const` `List` of types you want to
  /// be serializable.
  ///
  /// The built_value code generator will provide the implementation. It will
  /// contain serializers for all the types asked for explicitly plus all the
  /// types needed transitively via fields.
  ///
  /// You usually only need to do this once per project.
  @SerializersFor([Beer, Brewery])
  Serializers serializers = _$serializers;
  
  Serializers standardSerializers = (serializers.toBuilder()
        ..addPlugin(StandardJsonPlugin())
        ..add(Iso8601DateTimeSerializer())
        ..add(BooleanSerializer()))
      .build();
  