blob: 3ddf0cced6a096aa7f56344084a1b042b88542ec [file]
// Copyright (c) 2015, 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.
part of initialize;
/// Implement this class to create your own initializer.
///
/// Hello world example:
///
/// class Print implements Initializer<Type> {
/// final String message;
/// const Print(this.message);
///
/// @override
/// initialize(Type t) => print('$t says `$message`');
/// }
///
/// @Print('hello world!')
/// class Foo {}
///
/// Call [run] from your main and this will print 'Foo says `hello world!`'
///
abstract class Initializer<T> {
dynamic initialize(T target);
}
/// Typedef for a custom filter function.
typedef bool InitializerFilter(Initializer initializer);