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
			| 
								 
											3 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
							 |