| Index: observatory_pub_packages/polymer_expressions/filter.dart
|
| ===================================================================
|
| --- observatory_pub_packages/polymer_expressions/filter.dart (revision 0)
|
| +++ observatory_pub_packages/polymer_expressions/filter.dart (working copy)
|
| @@ -0,0 +1,24 @@
|
| +// Copyright (c) 2013, the Dart project authors. 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 polymer_expressions.filter;
|
| +
|
| +typedef Object Filter(Object value);
|
| +
|
| +abstract class Transformer<T, V> {
|
| +
|
| + T forward(V v);
|
| + V reverse(T t);
|
| + Transformer<V, T> get inverse => new _InverseTransformer/*<V, T>*/(this);
|
| +}
|
| +
|
| +// TODO(jmesserly): restore types when Issue 14094 is fixed.
|
| +class _InverseTransformer/*<V, T>*/ implements Transformer/*<V, T>*/ {
|
| + final Transformer/*<T, V>*/ _t;
|
| + _InverseTransformer(this._t);
|
| +
|
| + /*V*/ forward(/*T*/ v) => _t.reverse(v);
|
| + /*T*/ reverse(/*V*/ t) => _t.forward(t);
|
| + Transformer/*<T, V>*/ get inverse => _t;
|
| +}
|
|
|