增加晶全app静态页面
This commit is contained in:
41
node_modules/es5-ext/object/serialize.js
generated
vendored
Normal file
41
node_modules/es5-ext/object/serialize.js
generated
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
"use strict";
|
||||
|
||||
var toArray = require("./to-array")
|
||||
, isDate = require("../date/is-date")
|
||||
, isValue = require("../object/is-value")
|
||||
, isRegExp = require("../reg-exp/is-reg-exp");
|
||||
|
||||
var isArray = Array.isArray
|
||||
, stringify = JSON.stringify
|
||||
, objHasOwnProperty = Object.prototype.hasOwnProperty;
|
||||
var keyValueToString = function (value, key) {
|
||||
return stringify(key) + ":" + module.exports(value);
|
||||
};
|
||||
|
||||
var sparseMap = function (arr) {
|
||||
var i, length = arr.length, result = new Array(length);
|
||||
for (i = 0; i < length; ++i) {
|
||||
if (!objHasOwnProperty.call(arr, i)) continue;
|
||||
result[i] = module.exports(arr[i]);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
module.exports = function (obj) {
|
||||
if (!isValue(obj)) return String(obj);
|
||||
switch (typeof obj) {
|
||||
case "string":
|
||||
return stringify(obj);
|
||||
case "number":
|
||||
case "boolean":
|
||||
case "function":
|
||||
return String(obj);
|
||||
case "object":
|
||||
if (isArray(obj)) return "[" + sparseMap(obj) + "]";
|
||||
if (isRegExp(obj)) return String(obj);
|
||||
if (isDate(obj)) return "new Date(" + obj.valueOf() + ")";
|
||||
return "{" + toArray(obj, keyValueToString) + "}";
|
||||
default:
|
||||
throw new TypeError("Serialization of " + String(obj) + "is unsupported");
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user