serializer_generator 0.7.1+1

  • README.md
  • CHANGELOG.md
  • Installing
  • Versions
  • 55

Build Status Coverage Status Pub version

DISCLAIMER

No maintenance on this package anymore. Prefer to use jaguar_serializer

Documentation aren't aligned with last version.

Serializer

Serialize and Deserialize Dart Object with reflectable or codegen

Codecs supported:

  • Json

Example

import 'package:serializer/serializer_reflectable.dart';

@serializable
class MyModel {
    String name;

    //constructor need to be without parameters or with optional or positional.
    MyModel([this.name]);
}

main() {
    Serializer serializer = new ReflectableSerializer.Json();
    
    //serialize
    MyModel model = new MyModel("John", 24);
    String json = serializer.encode(model);
    Map jsonMap = serializer.toMap(model);

    //deserialize
    model = serializer.decode(json, MyModel);
    model = serializer.fromMap(jsonMap, MyModel);
 }

Documentations

Changelog

0.6.0

Breaking changes:

  • Remove reflectable version
  • Update 'source_gen' to 0.5.4+2

0.5.1

  • Fix int/double/num conversion

0.5.0

  • Update reflectable to 1.0.0

Breaking changes:

  • Split the serializer in 2 versions:
    • codegen
    • reflectable
  • Add @UseType annotation only for codegen
  • Same API, change import to switch mode

Example

    import "package:serializer/serializer_codegen.dart";
    Serializer ser = new CodegenSerializer.json();

or

    import "package:serializer/serializer_reflectable.dart";
    Serializer ser = new ReflectableSerializer.json();

0.4.3

  • Add DateTime codecs for seconds and milliseconds since epoch.
  • Add dynamic type serialization.
  • Add SerializedWithTypeInfo annotation to set typeInfo at the object's root.
  • withTypeInfo flag into Serializer methods only sets typeInfo at the object's root.

Breaking changes:

  • Fix coding style for Serializer factories.

0.4.2

Breaking changes:

  • Add useTypeInfo boolean to Serializer constructor.
  • Replace optional parameters with named parameters into Serializer methods.
  • useTypeInfo flag into Serializer methods could overidde the global useTypeInfo from instance.

0.4.1+1

  • fix decode when content is already decode.

0.4.1

  • Add toPrimaryObject method
  • fix some error with null

0.4.0+1

  • Minor fix when some value are Null.
  • Don't serialize static and const field

0.4.0

  • Add DateTimeUtcCodec an UTC DateTime codec.
  • Add ObjectId a simple ObjectId codec (for Mongo BSON).

Breaking changes:

  • Move codecs/codec.dart to codecs.dart
  • In class Serialize, serializer getter is no more static.
  • Remove DateTimeCodec from Serializer.Json and Serializer.TypedJson factories

0.3.2

  • Support cyclical objects (@referenceable & @reference annotations)
  • Support SerializedName class inheritance

0.3.1

  • Support mixins

0.3.0

  • type_info_key is now optional

Breaking changes:

  • no initSerializer function anymore, instead, you have to instanciate a serializer classe
    • Serializer serializer = new Serializer.Json();
  • toJson and fromJson replace by encode and decode
    • see doc for more infos

0.2.0

  • type_info_key is now parametrable
  • json output is now simpler

0.1.0

  • Basic JSON serialization and desarialization

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  serializer_generator: "^0.7.1+1"

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:serializer_generator/serializer_generator.dart';
        
Version Uploaded Documentation Archive
0.7.1+1 Feb 5, 2018 Go to the documentation of serializer_generator 0.7.1+1 Download serializer_generator 0.7.1+1 archive
0.7.1 Sep 12, 2017 Go to the documentation of serializer_generator 0.7.1 Download serializer_generator 0.7.1 archive
0.7.0 Aug 22, 2017 Go to the documentation of serializer_generator 0.7.0 Download serializer_generator 0.7.0 archive

Analysis

We analyzed this package on Apr 9, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.46.0
  • pana: 0.10.6

Scores

Popularity:
Describes how popular the package is relative to other packages. [more]
9 / 100
Health:
Code health derived from static analysis. [more]
100 / 100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100 / 100
Overall score:
Weighted score of the above. [more]
55
Learn more about scoring.

Platforms

Detected platforms: other

Primary library: package:serializer_generator/serializer_generator.dart with components: io, build, mirrors.

Suggestions

  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

  • Maintain an example.

    None of the files in your example/ directory matches a known example patterns. Common file name patterns include: main.dart, example.dart or you could also use serializer_generator.dart.

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 1 hint.

    Run dartfmt to format lib/src/runner.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.24.0 <2.0.0
analyzer ^0.30.0+2 0.30.0+4 0.31.1
build ^0.10.0+1 0.10.2+1 0.12.1
build_runner ^0.4.0+3 0.4.0+3 0.8.2
path ^1.4.2 1.5.1
serializer ^0.7.0 0.7.1
source_gen ^0.7.1 0.7.5+1 0.8.0
Transitive dependencies
args 1.4.1
async 1.13.3 2.0.6
barback 0.15.2+15
build_barback 0.4.0+1 0.5.0+3
charcode 1.1.1
cli_util 0.1.2+1
code_transformers 0.5.1+4
collection 1.14.9
convert 2.0.1
crypto 2.0.2+1
csslib 0.14.1
dart_style 1.0.9+1 1.0.10
front_end 0.1.0-alpha.4.1 0.1.0-alpha.11
glob 1.1.5
html 0.13.3
http_parser 3.1.1
isolate 1.1.0 2.0.0
kernel 0.3.0-alpha.1.1 0.3.0-alpha.11
logging 0.11.3+1
meta 1.1.2
mime 0.9.6
package_config 1.0.3
plugin 0.2.0+2
pool 1.3.4
shelf 0.6.8 0.7.2
shelf_static 0.2.7
source_maps 0.10.4
source_span 1.4.0
stack_trace 1.9.2
stream_channel 1.6.4
stream_transform 0.0.11
string_scanner 1.0.2
typed_data 1.1.5
utf 0.9.0+4
watcher 0.9.7+7
yaml 2.1.13
Dev dependencies
browser ^0.10.0+2
bson ^0.3.0
test ^0.12.24+2