| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a | 
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 /** | 5 /** | 
| 6  * This provides a general-purpose serialization facility for Dart objects. A | 6  * This provides a general-purpose serialization facility for Dart objects. A | 
| 7  * [Serialization] is defined in terms of [SerializationRule]s and supports | 7  * [Serialization] is defined in terms of [SerializationRule]s and supports | 
| 8  * reading and writing to different formats. | 8  * reading and writing to different formats. | 
| 9  * | 9  * | 
|  | 10  * ## Installing ## | 
|  | 11  * | 
|  | 12  * Use [pub][] to install this package. Add the following to your `pubspec.yaml` | 
|  | 13  * file. | 
|  | 14  * | 
|  | 15  *     dependencies: | 
|  | 16  *       serialization: any | 
|  | 17  * | 
|  | 18  * Then run `pub install`. | 
|  | 19  * | 
|  | 20  * For more information, see the | 
|  | 21  * [serialization package on pub.dartlang.org][pkg]. | 
|  | 22  * | 
| 10  * Setup | 23  * Setup | 
| 11  * ===== | 24  * ===== | 
| 12  * A simple example of usage is | 25  * A simple example of usage is | 
| 13  * | 26  * | 
| 14  *      var address = new Address(); | 27  *      var address = new Address(); | 
| 15  *      address.street = 'N 34th'; | 28  *      address.street = 'N 34th'; | 
| 16  *      address.city = 'Seattle'; | 29  *      address.city = 'Seattle'; | 
| 17  *      var serialization = new Serialization() | 30  *      var serialization = new Serialization() | 
| 18  *          ..addRuleFor(address); | 31  *          ..addRuleFor(address); | 
| 19  *      Map output = serialization.write(address); | 32  *      Map output = serialization.write(address); | 
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 174  * take a [ClassMirror] in their constructor, and we cannot serialize those. So | 187  * take a [ClassMirror] in their constructor, and we cannot serialize those. So | 
| 175  * when we read the rules, we must provide a Map<String, Object> which maps from | 188  * when we read the rules, we must provide a Map<String, Object> which maps from | 
| 176  * the simple name of classes we are interested in to a [ClassMirror]. This can | 189  * the simple name of classes we are interested in to a [ClassMirror]. This can | 
| 177  * be provided either in the [namedObjects] variable of the Serialization, | 190  * be provided either in the [namedObjects] variable of the Serialization, | 
| 178  * or as an additional parameter to the reading and writing methods on the | 191  * or as an additional parameter to the reading and writing methods on the | 
| 179  * [Reader] or [Writer] respectively. | 192  * [Reader] or [Writer] respectively. | 
| 180  * | 193  * | 
| 181  *     new Serialization() | 194  *     new Serialization() | 
| 182  *       ..addRuleFor(new Person(), constructorFields: ["name"]) | 195  *       ..addRuleFor(new Person(), constructorFields: ["name"]) | 
| 183  *       ..namedObjects['Person'] = reflect(new Person()).type; | 196  *       ..namedObjects['Person'] = reflect(new Person()).type; | 
|  | 197  * | 
|  | 198  * [pub]: http://pub.dartlang.org | 
|  | 199  * [pkg]: http://pub.dartlang.org/packages/serialization | 
| 184  */ | 200  */ | 
| 185 library serialization; | 201 library serialization; | 
| 186 | 202 | 
| 187 import 'src/mirrors_helpers.dart'; | 203 import 'src/mirrors_helpers.dart'; | 
| 188 import 'src/serialization_helpers.dart'; | 204 import 'src/serialization_helpers.dart'; | 
| 189 import 'dart:async'; | 205 import 'dart:async'; | 
| 190 import 'dart:json' as json; | 206 import 'dart:json' as json; | 
| 191 import 'dart:collection'; | 207 import 'dart:collection'; | 
| 192 | 208 | 
| 193 part 'src/reader_writer.dart'; | 209 part 'src/reader_writer.dart'; | 
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 469 } | 485 } | 
| 470 | 486 | 
| 471 /** | 487 /** | 
| 472  * An exception class for errors during serialization. | 488  * An exception class for errors during serialization. | 
| 473  */ | 489  */ | 
| 474 class SerializationException implements Exception { | 490 class SerializationException implements Exception { | 
| 475   final String message; | 491   final String message; | 
| 476   const SerializationException([this.message]); | 492   const SerializationException([this.message]); | 
| 477   toString() => "SerializationException($message)"; | 493   toString() => "SerializationException($message)"; | 
| 478 } | 494 } | 
| OLD | NEW | 
|---|