UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

76 lines (72 loc) 2.11 kB
"use strict"; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var cloneDeep = require('lodash/cloneDeep'); var FunctionUtil = { isFunction: function isFunction(source) { return typeof source === "function"; }, forIn: function forIn(object, callback, args) { var name, i = 0, length = object && object.length; if (args) { if (length == undefined) { for (name in object) { if (callback.apply(object[name], args) === false) { break; } } } else { for (; i < length;) { if (callback.apply(object[i++], args) === false) { break; } } } } else { if (length == undefined) { for (name in object) { if (callback.call(object[name], object[name], name) === false) { break; } } } else { for (var value = object[0]; i < length && callback.call(value, value, i) !== false; value = object[++i]) {} } } return object; }, forEach: function forEach(object, callback, args) { var name, i = 0, length = object && object.length; if (args) { if (length == undefined) { for (name in object) { if (callback.apply(object[name], args) === false) { break; } } } else { for (; i < length;) { if (callback.apply(object[i++], args) === false) { break; } } } } else { if (length == undefined) { for (name in object) { if (callback.call(object[name], _defineProperty({}, name, object[name])) === false) { break; } } } else { for (var value = object[0]; i < length && callback.call(value, value, i) !== false; value = object[++i]) {} } } return object; }, deepClone: cloneDeep }; module.exports = FunctionUtil;