mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 07:40:22 +00:00
Refactored toJsonArray(), added isBoolean() function
This commit is contained in:
parent
b7027b9d87
commit
5be325a0c1
2 changed files with 11 additions and 11 deletions
|
|
@ -312,6 +312,7 @@ function isString(value){ return typeof value == $string;}
|
|||
function isNumber(value){ return typeof value == $number;}
|
||||
function isArray(value) { return value instanceof Array; }
|
||||
function isFunction(value){ return typeof value == $function;}
|
||||
function isBoolean(value) { return typeof value == $boolean;}
|
||||
function isTextNode(node) { return nodeName(node) == '#text'; }
|
||||
function trim(value) { return isString(value) ? value.replace(/^\s*/, '').replace(/\s*$/, '') : value; }
|
||||
function isElement(node) {
|
||||
|
|
|
|||
21
src/JSON.js
21
src/JSON.js
|
|
@ -1,6 +1,6 @@
|
|||
var array = [].constructor;
|
||||
|
||||
function toJson(obj, pretty){
|
||||
function toJson(obj, pretty) {
|
||||
var buf = [];
|
||||
toJsonArray(buf, obj, pretty ? "\n " : _null, []);
|
||||
return buf.join('');
|
||||
|
|
@ -35,37 +35,36 @@ function toJsonArray(buf, obj, pretty, stack) {
|
|||
}
|
||||
|
||||
if (includes(stack, obj)) {
|
||||
buf.push("RECURSION");
|
||||
buf.push('RECURSION');
|
||||
return;
|
||||
}
|
||||
stack.push(obj);
|
||||
}
|
||||
var type = typeof obj;
|
||||
if (obj === _null) {
|
||||
buf.push($null);
|
||||
} else if (obj instanceof RegExp) {
|
||||
buf.push(angular['String']['quoteUnicode'](obj.toString()));
|
||||
} else if (type === $function) {
|
||||
} else if (isFunction(obj)) {
|
||||
return;
|
||||
} else if (type === $boolean) {
|
||||
} else if (isBoolean(obj)) {
|
||||
buf.push('' + obj);
|
||||
} else if (type === $number) {
|
||||
} else if (isNumber(obj)) {
|
||||
if (isNaN(obj)) {
|
||||
buf.push($null);
|
||||
} else {
|
||||
buf.push('' + obj);
|
||||
}
|
||||
} else if (type === $string) {
|
||||
} else if (isString(obj)) {
|
||||
return buf.push(angular['String']['quoteUnicode'](obj));
|
||||
} else if (type === $object) {
|
||||
if (obj instanceof Array) {
|
||||
} else if (isObject(obj)) {
|
||||
if (isArray(obj)) {
|
||||
buf.push("[");
|
||||
var len = obj.length;
|
||||
var sep = false;
|
||||
for(var i=0; i<len; i++) {
|
||||
var item = obj[i];
|
||||
if (sep) buf.push(",");
|
||||
if (!(item instanceof RegExp) && (typeof item == $function || typeof item == $undefined)) {
|
||||
if (!(item instanceof RegExp) && (isFunction(item) || isUndefined(item))) {
|
||||
buf.push($null);
|
||||
} else {
|
||||
toJsonArray(buf, item, pretty, stack);
|
||||
|
|
@ -104,7 +103,7 @@ function toJsonArray(buf, obj, pretty, stack) {
|
|||
buf.push("}");
|
||||
}
|
||||
}
|
||||
if (typeof obj == $object) {
|
||||
if (isObject(obj)) {
|
||||
stack.pop();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue