// #docplaster
(function(app) {
// #docregion
app.HeroLifecycleComponent = HeroComponent;
HeroComponent.annotations = [
  new ng.core.Component({
    selector: 'hero-lifecycle',
    template: '
Hero: {{name}}
'
  })
];
function HeroComponent() { }
HeroComponent.prototype.ngOnInit = function() {
  // todo: fetch from server async
  setTimeout(() => this.name = 'Windstorm', 0);
};
// #enddocregion
})(window.app = window.app || {});
/////// DSL version ////
(function(app) {
// #docregion dsl
app.HeroLifecycleDslComponent = ng.core.Component({
    selector: 'hero-lifecycle-dsl',
    template: 'Hero: {{name}}
'
  })
  .Class({
    constructor: function HeroLifecycleDslComponent() { },
    ngOnInit: function() {
      // todo: fetch from server async
      setTimeout(() => this.name = 'Windstorm', 0);
    }
  });
// #enddocregion dsl
})(window.app = window.app || {});