From e5488e214e835ebacd16881105085d1df9d8b345 Mon Sep 17 00:00:00 2001 From: Savannah Mastrangelo Date: Fri, 1 Jun 2018 15:33:20 -0400 Subject: [PATCH] [BUGFIX beta] avoid ordered set deprecation --- packages/@ember/map/lib/ordered-set.js | 25 ++++++++++++++++++------- packages/@ember/map/tests/map_test.js | 12 +++++++++++- packages/ember/index.js | 3 ++- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/packages/@ember/map/lib/ordered-set.js b/packages/@ember/map/lib/ordered-set.js index f0073d1b71e..7c29792695f 100644 --- a/packages/@ember/map/lib/ordered-set.js +++ b/packages/@ember/map/lib/ordered-set.js @@ -12,16 +12,17 @@ import { copyNull } from './utils'; @constructor @private */ -export default class OrderedSet { - constructor() { - deprecate('Use of @ember/OrderedSet is deprecated. Please use native `Map` instead', false, { - id: 'ember-map-deprecation', - until: '3.5.0', - }); +/** + * This is exported so it can be used by the OrderedSet library. + * This is private do not use it. + @private + */ + +export class __OrderedSet__ { + constructor() { this.clear(); } - /** @method create @static @@ -166,3 +167,13 @@ export default class OrderedSet { return set; } } + +export default class OrderedSet extends __OrderedSet__ { + constructor() { + super(); + deprecate('Use of @ember/OrderedSet is deprecated. Please use native `Map` instead', false, { + id: 'ember-map-deprecation', + until: '3.5.0', + }); + } +} diff --git a/packages/@ember/map/tests/map_test.js b/packages/@ember/map/tests/map_test.js index f6f38008c6b..620ad09595f 100644 --- a/packages/@ember/map/tests/map_test.js +++ b/packages/@ember/map/tests/map_test.js @@ -1,6 +1,6 @@ import Map from '..'; import MapWithDefault from '../with-default'; -import OrderedSet from '../lib/ordered-set'; +import OrderedSet, { __OrderedSet__ } from '../lib/ordered-set'; import { moduleFor, AbstractTestCase } from 'internal-test-helpers'; let object, number, string, map, variety; @@ -566,3 +566,13 @@ moduleFor( } } ); + +moduleFor( + '__OrderedSet__', + class extends AbstractTestCase { + ['@test private __OrderedSet__ can be created without deprecation']() { + expectNoDeprecation(); + __OrderedSet__.create(); + } + } +); diff --git a/packages/ember/index.js b/packages/ember/index.js index 5fe6f4e62c6..1dae9790a3a 100644 --- a/packages/ember/index.js +++ b/packages/ember/index.js @@ -123,7 +123,7 @@ import Engine from '@ember/engine'; import EngineInstance from '@ember/engine/instance'; import Map from '@ember/map'; import MapWithDefault from '@ember/map/with-default'; -import OrderedSet from '@ember/map/lib/ordered-set'; +import OrderedSet, { __OrderedSet__ } from '@ember/map/lib/ordered-set'; import { assign, merge } from '@ember/polyfills'; import { PROPERTY_WILL_CHANGE, @@ -183,6 +183,7 @@ Ember.EngineInstance = EngineInstance; // ****@ember/map**** Ember.OrderedSet = OrderedSet; +Ember.__OrderedSet__ = __OrderedSet__; Ember.Map = Map; Ember.MapWithDefault = MapWithDefault;