diff --git a/packages/ember-runtime/lib/computed/array_computed.js b/packages/ember-runtime/lib/computed/array_computed.js index 4285291f93a..7873f91209c 100644 --- a/packages/ember-runtime/lib/computed/array_computed.js +++ b/packages/ember-runtime/lib/computed/array_computed.js @@ -12,6 +12,7 @@ var a_slice = [].slice; function ArrayComputedProperty() { var cp = this; + this._isArrayComputed = true; ReduceComputedProperty.apply(this, arguments); this._getter = (function(reduceFunc) { @@ -163,6 +164,7 @@ ArrayComputedProperty.prototype.didChange = function (obj, keyName) { @param {String} [dependentKeys*] @param {Object} options @return {Ember.ComputedProperty} + @deprecated @private */ function arrayComputed(options) { diff --git a/packages/ember-runtime/lib/computed/reduce_computed.js b/packages/ember-runtime/lib/computed/reduce_computed.js index fbd1ba79366..c17499ac88b 100644 --- a/packages/ember-runtime/lib/computed/reduce_computed.js +++ b/packages/ember-runtime/lib/computed/reduce_computed.js @@ -478,6 +478,12 @@ export { ReduceComputedProperty }; // TODO: default export function ReduceComputedProperty(options) { var cp = this; + if (this._isArrayComputed) { + Ember.deprecate('Ember.arrayComputed is deprecated. Replace it with plain array methods'); + } else { + Ember.deprecate('Ember.reduceComputed is deprecated. Replace it with plain array methods'); + } + this.options = options; this._dependentKeys = null; this._cacheable = true; @@ -841,6 +847,7 @@ ReduceComputedProperty.prototype.property = function () { @param {String} [dependentKeys*] @param {Object} options @return {Ember.ComputedProperty} + @deprecated @public */ export function reduceComputed(options) { diff --git a/packages/ember-runtime/tests/computed/reduce_computed_test.js b/packages/ember-runtime/tests/computed/reduce_computed_test.js index ef3af931fcb..8b6c85c1318 100644 --- a/packages/ember-runtime/tests/computed/reduce_computed_test.js +++ b/packages/ember-runtime/tests/computed/reduce_computed_test.js @@ -83,6 +83,15 @@ QUnit.module('arrayComputed', { } }); +QUnit.test("reduceComputed is deprecated", function() { + expectDeprecation(/Ember.reduceComputed is deprecated/); + reduceComputed({ initialValue: 0 }); +}); + +QUnit.test("arrayComputed is deprecated", function() { + expectDeprecation(/Ember.arrayComputed is deprecated/); + arrayComputed({}); +}); QUnit.test("array computed properties are instances of ComputedProperty", function() { ok(arrayComputed({}) instanceof ComputedProperty);