初始化
This commit is contained in:
44
uni_modules/UniDevTools/node_modules/licia/stringify.js
generated
vendored
Normal file
44
uni_modules/UniDevTools/node_modules/licia/stringify.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
var type = require('./type');
|
||||
var upperFirst = require('./upperFirst');
|
||||
var toStr = require('./toStr');
|
||||
var isUndef = require('./isUndef');
|
||||
var isFn = require('./isFn');
|
||||
var isRegExp = require('./isRegExp');
|
||||
exports = function(obj, spaces) {
|
||||
return JSON.stringify(obj, serializer(), spaces);
|
||||
};
|
||||
function serializer() {
|
||||
var stack = [];
|
||||
var keys = [];
|
||||
return function(key, val) {
|
||||
if (stack.length > 0) {
|
||||
var pos = stack.indexOf(this);
|
||||
if (pos > -1) {
|
||||
stack.splice(pos + 1);
|
||||
keys.splice(pos, Infinity, key);
|
||||
} else {
|
||||
stack.push(this);
|
||||
keys.push(key);
|
||||
}
|
||||
var valPos = stack.indexOf(val);
|
||||
if (valPos > -1) {
|
||||
if (stack[0] === val) {
|
||||
val = '[Circular ~]';
|
||||
} else {
|
||||
val =
|
||||
'[Circular ~.' + keys.slice(0, valPos).join('.') + ']';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
stack.push(val);
|
||||
}
|
||||
if (isRegExp(val) || isFn(val)) {
|
||||
val = '[' + upperFirst(type(val)) + ' ' + toStr(val) + ']';
|
||||
} else if (isUndef(val)) {
|
||||
val = null;
|
||||
}
|
||||
return val;
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = exports;
|
||||
Reference in New Issue
Block a user