Skip to content

Commit

Permalink
[BUGFIX beta] improve errors when InjectedProperty is misused
Browse files Browse the repository at this point in the history
Previously, if InjectedProperty was created improperly, it would fail with
an obtuse "undefined has no property type" error. This introduces an
assertion to improve the readability of that error case.
  • Loading branch information
James A. Rosen committed Jul 12, 2015
1 parent c27834c commit 7a3e967
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions packages/ember-metal/lib/injected_property.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ function InjectedProperty(type, name) {
}

function injectedPropertyGet(keyName) {
var possibleDesc = this[keyName];
var desc = (possibleDesc !== null && typeof possibleDesc === 'object' && possibleDesc.isDescriptor) ? possibleDesc : undefined;
var desc = this[keyName];

Ember.assert(`InjectedProperties should be defined with the Ember.inject computed property macros.`, desc && desc.isDescriptor && desc.type);
Ember.assert(`Attempting to lookup an injected property on an object without a container, ensure that the object was instantiated via a container.`, this.container);

return this.container.lookup(desc.type + ':' + (desc.name || keyName));
Expand Down

0 comments on commit 7a3e967

Please sign in to comment.