diff --git a/packages/ember/index.js b/packages/ember/index.js index b3a0231a015..711a0b2b0b8 100644 --- a/packages/ember/index.js +++ b/packages/ember/index.js @@ -190,7 +190,19 @@ Ember.canInvoke = utils.canInvoke; Ember.tryInvoke = utils.tryInvoke; Ember.wrap = utils.wrap; Ember.uuid = utils.uuid; -Ember.NAME_KEY = utils.NAME_KEY; + +Object.defineProperty(Ember, 'NAME_KEY', { + enumerable: false, + get() { + deprecate('Using `Ember.NAME_KEY` is deprecated, override `.toString` instead', false, { + id: 'ember-name-key-usage', + until: '3.9.0', + }); + + return utils.NAME_KEY; + }, +}); + Ember._Cache = utils.Cache; // ****@ember/-internals/container**** diff --git a/packages/ember/tests/reexports_test.js b/packages/ember/tests/reexports_test.js index 216b3616fbe..e0eb8e597a7 100644 --- a/packages/ember/tests/reexports_test.js +++ b/packages/ember/tests/reexports_test.js @@ -34,6 +34,12 @@ moduleFor( }, /EXTEND_PROTOTYPES is deprecated/); } + ['@test Ember.NAME_KEY is deprecated']() { + expectDeprecation(() => { + Ember.NAME_KEY; + }, 'Using `Ember.NAME_KEY` is deprecated, override `.toString` instead'); + } + '@test Ember.FEATURES is exported'(assert) { for (let feature in FEATURES) { assert.equal( @@ -65,7 +71,6 @@ let allExports = [ ['canInvoke', '@ember/-internals/utils'], ['tryInvoke', '@ember/-internals/utils'], ['wrap', '@ember/-internals/utils'], - ['NAME_KEY', '@ember/-internals/utils'], // @ember/-internals/container ['Registry', '@ember/-internals/container', 'Registry'],