Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

Commit

Permalink
fix(filter): make json filter ignore private properties
Browse files Browse the repository at this point in the history
  • Loading branch information
mhevery authored and IgorMinar committed Oct 11, 2011
1 parent 8ee32a7 commit e134a83
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 9 deletions.
2 changes: 1 addition & 1 deletion src/JSON.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ function toJsonArray(buf, obj, pretty, stack) {
var childPretty = pretty ? pretty + " " : false;
var keys = [];
for(var k in obj) {
if (obj.hasOwnProperty(k) && obj[k] !== undefined) {
if (k!='this' && k!='$parent' && k.substring(0,2) != '$$' && obj.hasOwnProperty(k) && obj[k] !== undefined) {
keys.push(k);
}
}
Expand Down
3 changes: 1 addition & 2 deletions src/filters.js
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,6 @@ var GET_TIME_ZONE = /[A-Z]{3}(?![+\-])/,
OPERA_TOSTRING_PATTERN = /^[\d].*Z$/,
NUMBER_STRING = /^\d+$/;


/**
* @workInProgress
* @ngdoc filter
Expand Down Expand Up @@ -409,7 +408,7 @@ angularFilter.date = function(date, format) {
*/
angularFilter.json = function(object) {
this.$element.addClass("ng-monospace");
return toJson(object, true);
return toJson(object, true, /^(\$|this$)/);
};


Expand Down
6 changes: 0 additions & 6 deletions test/AngularSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -514,12 +514,6 @@ describe('angular', function(){
expect(angular.scope().$service('svc2')).toEqual('svc2-svc1');
});

it('should inject infered dependencies when $inject is missing', function() {
angular.service('svc1', function() { return 'svc1'; });
angular.service('svc2', function(svc1) { return 'svc2-' + svc1; });
expect(angular.scope().$service('svc2')).toEqual('svc2-svc1');
});

it('should eagerly instantiate a service if $eager is true', function() {
var log = [];
angular.service('svc1', function() { log.push('svc1'); }, {$eager: true});
Expand Down
4 changes: 4 additions & 0 deletions test/JsonSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ describe('json', function(){
expect(toJson("a \t \n \r b \\")).toEqual('"a \\t \\n \\r b \\\\"');
});

it('should not serialize $$properties', function(){
expect(toJson({$$some:'value', 'this':1, '$parent':1}, false)).toEqual('{}');
});

it('should serialize strings with escaped characters', function() {
expect(toJson("7\\\"7")).toEqual("\"7\\\\\\\"7\"");
});
Expand Down

0 comments on commit e134a83

Please sign in to comment.