| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 | 
							- /**
 
-  * lodash 3.9.1 (Custom Build) <https://lodash.com/>
 
-  * Build: `lodash modern modularize exports="npm" -o ./`
 
-  * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
 
-  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 
-  * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 
-  * Available under MIT license <https://lodash.com/license>
 
-  */
 
- /** `Object#toString` result references. */
 
- var funcTag = '[object Function]';
 
- /** Used to detect host constructors (Safari > 5). */
 
- var reIsHostCtor = /^\[object .+?Constructor\]$/;
 
- /**
 
-  * Checks if `value` is object-like.
 
-  *
 
-  * @private
 
-  * @param {*} value The value to check.
 
-  * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
 
-  */
 
- function isObjectLike(value) {
 
-   return !!value && typeof value == 'object';
 
- }
 
- /** Used for native method references. */
 
- var objectProto = Object.prototype;
 
- /** Used to resolve the decompiled source of functions. */
 
- var fnToString = Function.prototype.toString;
 
- /** Used to check objects for own properties. */
 
- var hasOwnProperty = objectProto.hasOwnProperty;
 
- /**
 
-  * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
 
-  * of values.
 
-  */
 
- var objToString = objectProto.toString;
 
- /** Used to detect if a method is native. */
 
- var reIsNative = RegExp('^' +
 
-   fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
 
-   .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
 
- );
 
- /**
 
-  * Gets the native function at `key` of `object`.
 
-  *
 
-  * @private
 
-  * @param {Object} object The object to query.
 
-  * @param {string} key The key of the method to get.
 
-  * @returns {*} Returns the function if it's native, else `undefined`.
 
-  */
 
- function getNative(object, key) {
 
-   var value = object == null ? undefined : object[key];
 
-   return isNative(value) ? value : undefined;
 
- }
 
- /**
 
-  * Checks if `value` is classified as a `Function` object.
 
-  *
 
-  * @static
 
-  * @memberOf _
 
-  * @category Lang
 
-  * @param {*} value The value to check.
 
-  * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
 
-  * @example
 
-  *
 
-  * _.isFunction(_);
 
-  * // => true
 
-  *
 
-  * _.isFunction(/abc/);
 
-  * // => false
 
-  */
 
- function isFunction(value) {
 
-   // The use of `Object#toString` avoids issues with the `typeof` operator
 
-   // in older versions of Chrome and Safari which return 'function' for regexes
 
-   // and Safari 8 equivalents which return 'object' for typed array constructors.
 
-   return isObject(value) && objToString.call(value) == funcTag;
 
- }
 
- /**
 
-  * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
 
-  * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
 
-  *
 
-  * @static
 
-  * @memberOf _
 
-  * @category Lang
 
-  * @param {*} value The value to check.
 
-  * @returns {boolean} Returns `true` if `value` is an object, else `false`.
 
-  * @example
 
-  *
 
-  * _.isObject({});
 
-  * // => true
 
-  *
 
-  * _.isObject([1, 2, 3]);
 
-  * // => true
 
-  *
 
-  * _.isObject(1);
 
-  * // => false
 
-  */
 
- function isObject(value) {
 
-   // Avoid a V8 JIT bug in Chrome 19-20.
 
-   // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
 
-   var type = typeof value;
 
-   return !!value && (type == 'object' || type == 'function');
 
- }
 
- /**
 
-  * Checks if `value` is a native function.
 
-  *
 
-  * @static
 
-  * @memberOf _
 
-  * @category Lang
 
-  * @param {*} value The value to check.
 
-  * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
 
-  * @example
 
-  *
 
-  * _.isNative(Array.prototype.push);
 
-  * // => true
 
-  *
 
-  * _.isNative(_);
 
-  * // => false
 
-  */
 
- function isNative(value) {
 
-   if (value == null) {
 
-     return false;
 
-   }
 
-   if (isFunction(value)) {
 
-     return reIsNative.test(fnToString.call(value));
 
-   }
 
-   return isObjectLike(value) && reIsHostCtor.test(value);
 
- }
 
- module.exports = getNative;
 
 
  |