From 7ff3f8e3ce122ce49f3402d2cb394bc9f9985552 Mon Sep 17 00:00:00 2001 From: bekzod Date: Sat, 2 Jun 2018 23:51:00 +0500 Subject: [PATCH] add deprecation to `NAME_KEY` --- packages/ember/index.js | 15 ++++++++++++++- packages/ember/tests/reexports_test.js | 8 +++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/ember/index.js b/packages/ember/index.js index 1dae9790a3a..6761f642169 100644 --- a/packages/ember/index.js +++ b/packages/ember/index.js @@ -201,7 +201,20 @@ Ember.canInvoke = utils.canInvoke; Ember.tryInvoke = utils.tryInvoke; Ember.wrap = utils.wrap; Ember.uuid = utils.uuid; -Ember.NAME_KEY = utils.NAME_KEY; +Ember.setName = utils.setName; + +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: '4.0.0', + }); + + return utils.NAME_KEY; + }, +}); + Ember._Cache = utils.Cache; // ****container**** diff --git a/packages/ember/tests/reexports_test.js b/packages/ember/tests/reexports_test.js index 17d07c0fadf..2f7ca7f85c1 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( @@ -64,7 +70,7 @@ let allExports = [ ['canInvoke', 'ember-utils'], ['tryInvoke', 'ember-utils'], ['wrap', 'ember-utils'], - ['NAME_KEY', 'ember-utils'], + ['setName', 'ember-utils'], // container ['Registry', 'container', 'Registry'],