first commit
This commit is contained in:
111
app_vue/node_modules/utila/lib/_common.js
generated
vendored
Normal file
111
app_vue/node_modules/utila/lib/_common.js
generated
vendored
Normal file
@ -0,0 +1,111 @@
|
||||
// Generated by CoffeeScript 1.6.3
|
||||
var common;
|
||||
|
||||
module.exports = common = {
|
||||
/*
|
||||
Checks to see if o is an object, and it isn't an instance
|
||||
of some class.
|
||||
*/
|
||||
|
||||
isBareObject: function(o) {
|
||||
if ((o != null) && o.constructor === Object) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
/*
|
||||
Returns type of an object, including:
|
||||
undefined, null, string, number, array,
|
||||
arguments, element, textnode, whitespace, and object
|
||||
*/
|
||||
|
||||
typeOf: function(item) {
|
||||
var _ref;
|
||||
if (item === null) {
|
||||
return 'null';
|
||||
}
|
||||
if (typeof item !== 'object') {
|
||||
return typeof item;
|
||||
}
|
||||
if (Array.isArray(item)) {
|
||||
return 'array';
|
||||
}
|
||||
if (item.nodeName) {
|
||||
if (item.nodeType === 1) {
|
||||
return 'element';
|
||||
}
|
||||
if (item.nodeType === 3) {
|
||||
return (_ref = /\S/.test(item.nodeValue)) != null ? _ref : {
|
||||
'textnode': 'whitespace'
|
||||
};
|
||||
}
|
||||
} else if (typeof item.length === 'number') {
|
||||
if (item.callee) {
|
||||
return 'arguments';
|
||||
}
|
||||
}
|
||||
return typeof item;
|
||||
},
|
||||
clone: function(item, includePrototype) {
|
||||
if (includePrototype == null) {
|
||||
includePrototype = false;
|
||||
}
|
||||
switch (common.typeOf(item)) {
|
||||
case 'array':
|
||||
return common._cloneArray(item, includePrototype);
|
||||
case 'object':
|
||||
return common._cloneObject(item, includePrototype);
|
||||
default:
|
||||
return item;
|
||||
}
|
||||
},
|
||||
/*
|
||||
Deep clone of an object.
|
||||
From MooTools
|
||||
*/
|
||||
|
||||
_cloneObject: function(o, includePrototype) {
|
||||
var clone, key;
|
||||
if (includePrototype == null) {
|
||||
includePrototype = false;
|
||||
}
|
||||
if (common.isBareObject(o)) {
|
||||
clone = {};
|
||||
for (key in o) {
|
||||
clone[key] = common.clone(o[key], includePrototype);
|
||||
}
|
||||
return clone;
|
||||
} else {
|
||||
if (!includePrototype) {
|
||||
return o;
|
||||
}
|
||||
if (o instanceof Function) {
|
||||
return o;
|
||||
}
|
||||
clone = Object.create(o.constructor.prototype);
|
||||
for (key in o) {
|
||||
if (o.hasOwnProperty(key)) {
|
||||
clone[key] = common.clone(o[key], includePrototype);
|
||||
}
|
||||
}
|
||||
return clone;
|
||||
}
|
||||
},
|
||||
/*
|
||||
Deep clone of an array.
|
||||
From MooTools
|
||||
*/
|
||||
|
||||
_cloneArray: function(a, includePrototype) {
|
||||
var clone, i;
|
||||
if (includePrototype == null) {
|
||||
includePrototype = false;
|
||||
}
|
||||
i = a.length;
|
||||
clone = new Array(i);
|
||||
while (i--) {
|
||||
clone[i] = common.clone(a[i], includePrototype);
|
||||
}
|
||||
return clone;
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user