You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					184 lines
				
				4.2 KiB
			
		
		
			
		
	
	
					184 lines
				
				4.2 KiB
			| 
											2 years ago
										 | "use strict"; | ||
|  | 
 | ||
|  | function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
|  | 
 | ||
|  | var toString = Object.prototype.toString; | ||
|  | var escapeHtmlRegex = /["&<>]/; | ||
|  | var _ = { | ||
|  |   each: function each(obj, cb) { | ||
|  |     if (obj) { | ||
|  |       if (Array.isArray(obj)) { | ||
|  |         obj.forEach(cb); | ||
|  |       } else { | ||
|  |         Object.keys(obj).forEach(function (key) { | ||
|  |           cb(obj[key], key); | ||
|  |         }); | ||
|  |       } | ||
|  |     } | ||
|  |   }, | ||
|  |   some: function some(obj, cb) { | ||
|  |     if (obj) { | ||
|  |       if (Array.isArray(obj)) { | ||
|  |         return obj.some(cb); | ||
|  |       } | ||
|  | 
 | ||
|  |       return Object.keys(obj).some(function (key) { | ||
|  |         return cb(obj[key], key); | ||
|  |       }); | ||
|  |     } | ||
|  | 
 | ||
|  |     return false; | ||
|  |   }, | ||
|  |   every: function every(obj, cb) { | ||
|  |     if (obj) { | ||
|  |       if (Array.isArray(obj)) { | ||
|  |         return obj.every(cb); | ||
|  |       } | ||
|  | 
 | ||
|  |       return Object.keys(obj).every(function (key) { | ||
|  |         return cb(obj[key], key); | ||
|  |       }); | ||
|  |     } | ||
|  | 
 | ||
|  |     return true; | ||
|  |   }, | ||
|  |   map: function map(obj, cb) { | ||
|  |     if (obj) { | ||
|  |       if (Array.isArray(obj)) { | ||
|  |         return obj.map(cb); | ||
|  |       } | ||
|  | 
 | ||
|  |       return Object.keys(obj).map(function (key) { | ||
|  |         return cb(obj[key], key); | ||
|  |       }); | ||
|  |     } | ||
|  | 
 | ||
|  |     return []; | ||
|  |   }, | ||
|  |   keyBy: function keyBy(a, p) { | ||
|  |     return a.reduce(function (o, v) { | ||
|  |       o[v[p]] = v; | ||
|  |       return o; | ||
|  |     }, {}); | ||
|  |   }, | ||
|  |   isEqual: function isEqual(a, b) { | ||
|  |     var aType = _typeof(a); | ||
|  | 
 | ||
|  |     var bType = _typeof(b); | ||
|  | 
 | ||
|  |     var aArray = Array.isArray(a); | ||
|  |     var bArray = Array.isArray(b); | ||
|  | 
 | ||
|  |     if (aType !== bType) { | ||
|  |       return false; | ||
|  |     } | ||
|  | 
 | ||
|  |     switch (_typeof(a)) { | ||
|  |       case 'object': | ||
|  |         if (aArray || bArray) { | ||
|  |           if (aArray && bArray) { | ||
|  |             return a.length === b.length && a.every(function (aValue, index) { | ||
|  |               var bValue = b[index]; | ||
|  |               return _.isEqual(aValue, bValue); | ||
|  |             }); | ||
|  |           } | ||
|  | 
 | ||
|  |           return false; | ||
|  |         } | ||
|  | 
 | ||
|  |         return _.every(a, function (aValue, key) { | ||
|  |           var bValue = b[key]; | ||
|  |           return _.isEqual(aValue, bValue); | ||
|  |         }); | ||
|  | 
 | ||
|  |       default: | ||
|  |         return a === b; | ||
|  |     } | ||
|  |   }, | ||
|  |   escapeHtml: function escapeHtml(html) { | ||
|  |     var regexResult = escapeHtmlRegex.exec(html); | ||
|  |     if (!regexResult) return html; | ||
|  |     var result = ''; | ||
|  |     var escape = ''; | ||
|  |     var lastIndex = 0; | ||
|  |     var i = regexResult.index; | ||
|  | 
 | ||
|  |     for (; i < html.length; i++) { | ||
|  |       switch (html.charAt(i)) { | ||
|  |         case '"': | ||
|  |           escape = '"'; | ||
|  |           break; | ||
|  | 
 | ||
|  |         case '&': | ||
|  |           escape = '&'; | ||
|  |           break; | ||
|  | 
 | ||
|  |         case '\'': | ||
|  |           escape = '''; | ||
|  |           break; | ||
|  | 
 | ||
|  |         case '<': | ||
|  |           escape = '<'; | ||
|  |           break; | ||
|  | 
 | ||
|  |         case '>': | ||
|  |           escape = '>'; | ||
|  |           break; | ||
|  | 
 | ||
|  |         default: | ||
|  |           continue; | ||
|  |       } | ||
|  | 
 | ||
|  |       if (lastIndex !== i) result += html.substring(lastIndex, i); | ||
|  |       lastIndex = i + 1; | ||
|  |       result += escape; | ||
|  |     } | ||
|  | 
 | ||
|  |     if (lastIndex !== i) return result + html.substring(lastIndex, i); | ||
|  |     return result; | ||
|  |   }, | ||
|  |   strcmp: function strcmp(a, b) { | ||
|  |     if (a < b) return -1; | ||
|  |     if (a > b) return 1; | ||
|  |     return 0; | ||
|  |   }, | ||
|  |   isUndefined: function isUndefined(val) { | ||
|  |     return toString.call(val) === '[object Undefined]'; | ||
|  |   }, | ||
|  |   isObject: function isObject(val) { | ||
|  |     return toString.call(val) === '[object Object]'; | ||
|  |   }, | ||
|  |   deepMerge: function deepMerge() { | ||
|  |     var target = arguments[0] || {}; | ||
|  |     var length = arguments.length; // eslint-disable-next-line one-var
 | ||
|  | 
 | ||
|  |     var src, clone, copyIsArray; | ||
|  | 
 | ||
|  |     function assignValue(val, key) { | ||
|  |       src = target[key]; | ||
|  |       copyIsArray = Array.isArray(val); | ||
|  | 
 | ||
|  |       if (_.isObject(val) || copyIsArray) { | ||
|  |         if (copyIsArray) { | ||
|  |           copyIsArray = false; | ||
|  |           clone = src && Array.isArray(src) ? src : []; | ||
|  |         } else { | ||
|  |           clone = src && _.isObject(src) ? src : {}; | ||
|  |         } | ||
|  | 
 | ||
|  |         target[key] = _.deepMerge(clone, val); | ||
|  |       } else if (!_.isUndefined(val)) { | ||
|  |         target[key] = val; | ||
|  |       } | ||
|  |     } | ||
|  | 
 | ||
|  |     for (var i = 0; i < length; i++) { | ||
|  |       _.each(arguments[i], assignValue); | ||
|  |     } | ||
|  | 
 | ||
|  |     return target; | ||
|  |   } | ||
|  | }; | ||
|  | module.exports = _; | ||
|  | //# sourceMappingURL=under-dash.js.map
 |