| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 | 
							- /**
 
-  * lodash 3.2.0 (Custom Build) <https://lodash.com/>
 
-  * Build: `lodash modularize exports="npm" -o ./`
 
-  * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
 
-  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 
-  * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 
-  * Available under MIT license <https://lodash.com/license>
 
-  */
 
- var root = require('lodash._root');
 
- /** Used as references for various `Number` constants. */
 
- var INFINITY = 1 / 0;
 
- /** `Object#toString` result references. */
 
- var symbolTag = '[object Symbol]';
 
- /** Used to match HTML entities and HTML characters. */
 
- var reUnescapedHtml = /[&<>"'`]/g,
 
-     reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
 
- /** Used to map characters to HTML entities. */
 
- var htmlEscapes = {
 
-   '&': '&',
 
-   '<': '<',
 
-   '>': '>',
 
-   '"': '"',
 
-   "'": ''',
 
-   '`': '`'
 
- };
 
- /**
 
-  * Used by `_.escape` to convert characters to HTML entities.
 
-  *
 
-  * @private
 
-  * @param {string} chr The matched character to escape.
 
-  * @returns {string} Returns the escaped character.
 
-  */
 
- function escapeHtmlChar(chr) {
 
-   return htmlEscapes[chr];
 
- }
 
- /** Used for built-in method references. */
 
- var objectProto = Object.prototype;
 
- /**
 
-  * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
 
-  * of values.
 
-  */
 
- var objectToString = objectProto.toString;
 
- /** Built-in value references. */
 
- var Symbol = root.Symbol;
 
- /** Used to convert symbols to primitives and strings. */
 
- var symbolProto = Symbol ? Symbol.prototype : undefined,
 
-     symbolToString = Symbol ? symbolProto.toString : undefined;
 
- /**
 
-  * Checks if `value` is object-like. A value is object-like if it's not `null`
 
-  * and has a `typeof` result of "object".
 
-  *
 
-  * @static
 
-  * @memberOf _
 
-  * @category Lang
 
-  * @param {*} value The value to check.
 
-  * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
 
-  * @example
 
-  *
 
-  * _.isObjectLike({});
 
-  * // => true
 
-  *
 
-  * _.isObjectLike([1, 2, 3]);
 
-  * // => true
 
-  *
 
-  * _.isObjectLike(_.noop);
 
-  * // => false
 
-  *
 
-  * _.isObjectLike(null);
 
-  * // => false
 
-  */
 
- function isObjectLike(value) {
 
-   return !!value && typeof value == 'object';
 
- }
 
- /**
 
-  * Checks if `value` is classified as a `Symbol` primitive or object.
 
-  *
 
-  * @static
 
-  * @memberOf _
 
-  * @category Lang
 
-  * @param {*} value The value to check.
 
-  * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
 
-  * @example
 
-  *
 
-  * _.isSymbol(Symbol.iterator);
 
-  * // => true
 
-  *
 
-  * _.isSymbol('abc');
 
-  * // => false
 
-  */
 
- function isSymbol(value) {
 
-   return typeof value == 'symbol' ||
 
-     (isObjectLike(value) && objectToString.call(value) == symbolTag);
 
- }
 
- /**
 
-  * Converts `value` to a string if it's not one. An empty string is returned
 
-  * for `null` and `undefined` values. The sign of `-0` is preserved.
 
-  *
 
-  * @static
 
-  * @memberOf _
 
-  * @category Lang
 
-  * @param {*} value The value to process.
 
-  * @returns {string} Returns the string.
 
-  * @example
 
-  *
 
-  * _.toString(null);
 
-  * // => ''
 
-  *
 
-  * _.toString(-0);
 
-  * // => '-0'
 
-  *
 
-  * _.toString([1, 2, 3]);
 
-  * // => '1,2,3'
 
-  */
 
- function toString(value) {
 
-   // Exit early for strings to avoid a performance hit in some environments.
 
-   if (typeof value == 'string') {
 
-     return value;
 
-   }
 
-   if (value == null) {
 
-     return '';
 
-   }
 
-   if (isSymbol(value)) {
 
-     return Symbol ? symbolToString.call(value) : '';
 
-   }
 
-   var result = (value + '');
 
-   return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
 
- }
 
- /**
 
-  * Converts the characters "&", "<", ">", '"', "'", and "\`" in `string` to
 
-  * their corresponding HTML entities.
 
-  *
 
-  * **Note:** No other characters are escaped. To escape additional
 
-  * characters use a third-party library like [_he_](https://mths.be/he).
 
-  *
 
-  * Though the ">" character is escaped for symmetry, characters like
 
-  * ">" and "/" don't need escaping in HTML and have no special meaning
 
-  * unless they're part of a tag or unquoted attribute value.
 
-  * See [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)
 
-  * (under "semi-related fun fact") for more details.
 
-  *
 
-  * Backticks are escaped because in IE < 9, they can break out of
 
-  * attribute values or HTML comments. See [#59](https://html5sec.org/#59),
 
-  * [#102](https://html5sec.org/#102), [#108](https://html5sec.org/#108), and
 
-  * [#133](https://html5sec.org/#133) of the [HTML5 Security Cheatsheet](https://html5sec.org/)
 
-  * for more details.
 
-  *
 
-  * When working with HTML you should always [quote attribute values](http://wonko.com/post/html-escaping)
 
-  * to reduce XSS vectors.
 
-  *
 
-  * @static
 
-  * @memberOf _
 
-  * @category String
 
-  * @param {string} [string=''] The string to escape.
 
-  * @returns {string} Returns the escaped string.
 
-  * @example
 
-  *
 
-  * _.escape('fred, barney, & pebbles');
 
-  * // => 'fred, barney, & pebbles'
 
-  */
 
- function escape(string) {
 
-   string = toString(string);
 
-   return (string && reHasUnescapedHtml.test(string))
 
-     ? string.replace(reUnescapedHtml, escapeHtmlChar)
 
-     : string;
 
- }
 
- module.exports = escape;
 
 
  |