OLD | NEW |
| (Empty) |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
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. | |
4 | |
5 part of js.wrapping; | |
6 | |
7 class Translator<E> { | |
8 final Mapper<dynamic, E> fromJs; | |
9 final Mapper<E, dynamic> toJs; | |
10 | |
11 Translator(this.fromJs, this.toJs); | |
12 } | |
13 | |
14 class TranslatorForSerializable<E extends Serializable> | |
15 implements Translator<E> { | |
16 Mapper<dynamic, E> _fromJs; | |
17 Mapper<E, dynamic> _toJs; | |
18 | |
19 TranslatorForSerializable(Mapper<dynamic, E> fromJs, {mapOnlyNotNull: true}) { | |
20 this._fromJs = (o) => mapOnlyNotNull ? mapNotNull(o, fromJs) : fromJs(o); | |
21 this._toJs = (E s) => s != null ? s.toJs() : null; | |
22 } | |
23 | |
24 Mapper<dynamic, E> get fromJs => this._fromJs; | |
25 Mapper<E, dynamic> get toJs => this._toJs; | |
26 } | |
OLD | NEW |