File tree Expand file tree Collapse file tree 5 files changed +37
-32
lines changed Expand file tree Collapse file tree 5 files changed +37
-32
lines changed Original file line number Diff line number Diff line change @@ -437,7 +437,7 @@ Ember.computed.not = function(dependentKey) {
437437Ember . computed . empty = function ( dependentKey ) {
438438 return Ember . computed ( dependentKey , function ( key ) {
439439 var val = get ( this , dependentKey ) ;
440- return val === undefined || val === null || val === '' || ( Ember . isArray ( val ) && get ( val , 'length' ) === 0 ) ;
440+ return Ember . isEmpty ( val ) ;
441441 } ) ;
442442} ;
443443
Original file line number Diff line number Diff line change @@ -228,3 +228,30 @@ Ember.merge = function(original, updates) {
228228 original [ prop ] = updates [ prop ] ;
229229 }
230230} ;
231+ /**
232+ Verifies that a value is `null` or an empty string, empty array,
233+ or empty function.
234+
235+ Constrains the rules on `Ember.isNone` by returning false for empty
236+ string and empty arrays.
237+
238+ ```javascript
239+ Ember.isEmpty(); // true
240+ Ember.isEmpty(null); // true
241+ Ember.isEmpty(undefined); // true
242+ Ember.isEmpty(''); // true
243+ Ember.isEmpty([]); // true
244+ Ember.isEmpty('Adam Hawkins'); // false
245+ Ember.isEmpty([0,1,2]); // false
246+ ```
247+
248+ @method isEmpty
249+ @for Ember
250+ @param {Object } obj Value to test
251+ @return {Boolean }
252+ */
253+ Ember . isEmpty = function ( obj ) {
254+ return obj === null || obj === undefined || ( obj . length === 0 && typeof obj !== 'function' ) || ( typeof obj === 'object' && Ember . get ( obj , 'length' ) === 0 ) ;
255+ } ;
256+ Ember . empty = Ember . deprecateFunc ( "Ember.empty is deprecated. Please use Ember.isEmpty instead." , Ember . isEmpty ) ;
257+
Original file line number Diff line number Diff line change @@ -2,8 +2,7 @@ module("Ember.isEmpty");
22
33test ( "Ember.isEmpty" , function ( ) {
44 var string = "string" , fn = function ( ) { } ,
5- object = { length : 0 } ,
6- arrayProxy = Ember . ArrayProxy . create ( { content : Ember . A ( [ ] ) } ) ;
5+ object = { length : 0 } ;
76
87 equal ( true , Ember . isEmpty ( null ) , "for null" ) ;
98 equal ( true , Ember . isEmpty ( undefined ) , "for undefined" ) ;
@@ -16,5 +15,4 @@ test("Ember.isEmpty", function() {
1615 equal ( true , Ember . isEmpty ( [ ] ) , "for an empty Array" ) ;
1716 equal ( false , Ember . isEmpty ( { } ) , "for an empty Object" ) ;
1817 equal ( true , Ember . isEmpty ( object ) , "for an Object that has zero 'length'" ) ;
19- equal ( true , Ember . isEmpty ( arrayProxy ) , "for an ArrayProxy that has empty content" ) ;
2018} ) ;
Original file line number Diff line number Diff line change @@ -106,34 +106,6 @@ Ember.isNone = function(obj) {
106106} ;
107107Ember . none = Ember . deprecateFunc ( "Ember.none is deprecated. Please use Ember.isNone instead." , Ember . isNone ) ;
108108
109- /**
110- Verifies that a value is `null` or an empty string, empty array,
111- or empty function.
112-
113- Constrains the rules on `Ember.isNone` by returning false for empty
114- string and empty arrays.
115-
116- ```javascript
117- Ember.isEmpty(); // true
118- Ember.isEmpty(null); // true
119- Ember.isEmpty(undefined); // true
120- Ember.isEmpty(''); // true
121- Ember.isEmpty([]); // true
122- Ember.isEmpty('Adam Hawkins'); // false
123- Ember.isEmpty([0,1,2]); // false
124- ```
125-
126- @method isEmpty
127- @for Ember
128- @param {Object } obj Value to test
129- @return {Boolean }
130- */
131- Ember . isEmpty = function ( obj ) {
132- return obj === null || obj === undefined || ( obj . length === 0 && typeof obj !== 'function' ) || ( typeof obj === 'object' && Ember . get ( obj , 'length' ) === 0 ) ;
133- } ;
134- Ember . empty = Ember . deprecateFunc ( "Ember.empty is deprecated. Please use Ember.isEmpty instead." , Ember . isEmpty ) ;
135-
136- /**
137109 This will compare two javascript values of possibly different types .
138110 It will tell you which one is greater than the other by returning:
139111
Original file line number Diff line number Diff line change 1+ require ( 'ember-metal/core' ) ;
2+ module ( "Ember.isEmpty" ) ;
3+
4+ test ( "Ember.isEmpty" , function ( ) {
5+ var arrayProxy = Ember . ArrayProxy . create ( { content : Ember . A ( [ ] ) } ) ;
6+
7+ equal ( true , Ember . isEmpty ( arrayProxy ) , "for an ArrayProxy that has empty content" ) ;
8+ } ) ;
You can’t perform that action at this time.
0 commit comments