From 1f2505e389b886fcc31088fedcb45cec1af0fde4 Mon Sep 17 00:00:00 2001 From: Phil Gengler Date: Mon, 27 May 2019 15:16:19 -0400 Subject: [PATCH] Add explanatory comment about use of Object.defineProperty to replace 'volatile' CP --- addon/services/features.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/addon/services/features.js b/addon/services/features.js index 834a258..9495844 100644 --- a/addon/services/features.js +++ b/addon/services/features.js @@ -74,6 +74,13 @@ const FeaturesService = Service.extend({ } }); +// Use a native getter instead of a `volatile` computed property since those +// were deprecated as of Ember 3.9. The Object.defineProperty approach (from +// https://github.com/emberjs/ember.js/issues/17709#issuecomment-469941364 is +// used because defining native getters directly on EmberObject-based classes +// is only supported from Ember 3.9 on (https://github.com/emberjs/ember.js/pull/17710) +// and this preserves compatiblity until this addon drops support for older +// Ember versions. Object.defineProperty(FeaturesService.prototype, 'flags', { get() { return Object.keys(this._flags);