import Helper from '@ember/component/helper'; import { get, computed } from '@ember/object'; import { getOwner } from '@ember/application'; import { assert } from '@ember/debug'; export default Helper.extend({ router: computed(function() { return getOwner(this).lookup('router:main'); }).readOnly(), route: computed(function() { return this.getRoute(this.get('router.currentRouteName')); }).readOnly(), getRoute(name) { return getOwner(this).lookup('route:' + name); }, compute([attr, routeName]) { let route; if (routeName) { route = this.getRoute(routeName); } else { route = get(this, 'route'); } assert('[ember-route-action-helper] Unable to lookup router', route); return get(route, attr); } });