<!DOCTYPE html> <html> <head> <title>functions.js</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"> <link rel="stylesheet" media="all" href="../docco.css" /> </head> <body> <div id="container"> <div id="background"></div> <ul id="jump_to"> <li> <a class="large" href="javascript:void(0);">Jump To …</a> <a class="small" href="javascript:void(0);">+</a> <div id="jump_wrapper"> <div id="jump_page_wrapper"> <div id="jump_page"> <a class="source" href="_baseCreate.html"> modules/_baseCreate.js </a> <a class="source" href="_baseIteratee.html"> modules/_baseIteratee.js </a> <a class="source" href="_cb.html"> modules/_cb.js </a> <a class="source" href="_chainResult.html"> modules/_chainResult.js </a> <a class="source" href="_collectNonEnumProps.html"> modules/_collectNonEnumProps.js </a> <a class="source" href="_createAssigner.html"> modules/_createAssigner.js </a> <a class="source" href="_createEscaper.html"> modules/_createEscaper.js </a> <a class="source" href="_createIndexFinder.html"> modules/_createIndexFinder.js </a> <a class="source" href="_createPredicateIndexFinder.html"> modules/_createPredicateIndexFinder.js </a> <a class="source" href="_createReduce.html"> modules/_createReduce.js </a> <a class="source" href="_createSizePropertyCheck.html"> modules/_createSizePropertyCheck.js </a> <a class="source" href="_deepGet.html"> modules/_deepGet.js </a> <a class="source" href="_escapeMap.html"> modules/_escapeMap.js </a> <a class="source" href="_executeBound.html"> modules/_executeBound.js </a> <a class="source" href="_flatten.html"> modules/_flatten.js </a> <a class="source" href="_getByteLength.html"> modules/_getByteLength.js </a> <a class="source" href="_getLength.html"> modules/_getLength.js </a> <a class="source" href="_group.html"> modules/_group.js </a> <a class="source" href="_has.html"> modules/_has.js </a> <a class="source" href="_hasObjectTag.html"> modules/_hasObjectTag.js </a> <a class="source" href="_isArrayLike.html"> modules/_isArrayLike.js </a> <a class="source" href="_isBufferLike.html"> modules/_isBufferLike.js </a> <a class="source" href="_keyInObj.html"> modules/_keyInObj.js </a> <a class="source" href="_methodFingerprint.html"> modules/_methodFingerprint.js </a> <a class="source" href="_optimizeCb.html"> modules/_optimizeCb.js </a> <a class="source" href="_setup.html"> modules/_setup.js </a> <a class="source" href="_shallowProperty.html"> modules/_shallowProperty.js </a> <a class="source" href="_stringTagBug.html"> modules/_stringTagBug.js </a> <a class="source" href="_tagTester.html"> modules/_tagTester.js </a> <a class="source" href="_toBufferView.html"> modules/_toBufferView.js </a> <a class="source" href="_toPath.html"> modules/_toPath.js </a> <a class="source" href="_unescapeMap.html"> modules/_unescapeMap.js </a> <a class="source" href="after.html"> modules/after.js </a> <a class="source" href="allKeys.html"> modules/allKeys.js </a> <a class="source" href="before.html"> modules/before.js </a> <a class="source" href="bind.html"> modules/bind.js </a> <a class="source" href="bindAll.html"> modules/bindAll.js </a> <a class="source" href="chain.html"> modules/chain.js </a> <a class="source" href="chunk.html"> modules/chunk.js </a> <a class="source" href="clone.html"> modules/clone.js </a> <a class="source" href="compact.html"> modules/compact.js </a> <a class="source" href="compose.html"> modules/compose.js </a> <a class="source" href="constant.html"> modules/constant.js </a> <a class="source" href="contains.html"> modules/contains.js </a> <a class="source" href="countBy.html"> modules/countBy.js </a> <a class="source" href="create.html"> modules/create.js </a> <a class="source" href="debounce.html"> modules/debounce.js </a> <a class="source" href="defaults.html"> modules/defaults.js </a> <a class="source" href="defer.html"> modules/defer.js </a> <a class="source" href="delay.html"> modules/delay.js </a> <a class="source" href="difference.html"> modules/difference.js </a> <a class="source" href="each.html"> modules/each.js </a> <a class="source" href="escape.html"> modules/escape.js </a> <a class="source" href="every.html"> modules/every.js </a> <a class="source" href="extend.html"> modules/extend.js </a> <a class="source" href="extendOwn.html"> modules/extendOwn.js </a> <a class="source" href="filter.html"> modules/filter.js </a> <a class="source" href="find.html"> modules/find.js </a> <a class="source" href="findIndex.html"> modules/findIndex.js </a> <a class="source" href="findKey.html"> modules/findKey.js </a> <a class="source" href="findLastIndex.html"> modules/findLastIndex.js </a> <a class="source" href="findWhere.html"> modules/findWhere.js </a> <a class="source" href="first.html"> modules/first.js </a> <a class="source" href="flatten.html"> modules/flatten.js </a> <a class="source" href="functions.html"> modules/functions.js </a> <a class="source" href="get.html"> modules/get.js </a> <a class="source" href="groupBy.html"> modules/groupBy.js </a> <a class="source" href="has.html"> modules/has.js </a> <a class="source" href="identity.html"> modules/identity.js </a> <a class="source" href="index-all.html"> modules/index-all.js </a> <a class="source" href="index-default.html"> modules/index-default.js </a> <a class="source" href="index.html"> modules/index.js </a> <a class="source" href="indexBy.html"> modules/indexBy.js </a> <a class="source" href="indexOf.html"> modules/indexOf.js </a> <a class="source" href="initial.html"> modules/initial.js </a> <a class="source" href="intersection.html"> modules/intersection.js </a> <a class="source" href="invert.html"> modules/invert.js </a> <a class="source" href="invoke.html"> modules/invoke.js </a> <a class="source" href="isArguments.html"> modules/isArguments.js </a> <a class="source" href="isArray.html"> modules/isArray.js </a> <a class="source" href="isArrayBuffer.html"> modules/isArrayBuffer.js </a> <a class="source" href="isBoolean.html"> modules/isBoolean.js </a> <a class="source" href="isDataView.html"> modules/isDataView.js </a> <a class="source" href="isDate.html"> modules/isDate.js </a> <a class="source" href="isElement.html"> modules/isElement.js </a> <a class="source" href="isEmpty.html"> modules/isEmpty.js </a> <a class="source" href="isEqual.html"> modules/isEqual.js </a> <a class="source" href="isError.html"> modules/isError.js </a> <a class="source" href="isFinite.html"> modules/isFinite.js </a> <a class="source" href="isFunction.html"> modules/isFunction.js </a> <a class="source" href="isMap.html"> modules/isMap.js </a> <a class="source" href="isMatch.html"> modules/isMatch.js </a> <a class="source" href="isNaN.html"> modules/isNaN.js </a> <a class="source" href="isNull.html"> modules/isNull.js </a> <a class="source" href="isNumber.html"> modules/isNumber.js </a> <a class="source" href="isObject.html"> modules/isObject.js </a> <a class="source" href="isRegExp.html"> modules/isRegExp.js </a> <a class="source" href="isSet.html"> modules/isSet.js </a> <a class="source" href="isString.html"> modules/isString.js </a> <a class="source" href="isSymbol.html"> modules/isSymbol.js </a> <a class="source" href="isTypedArray.html"> modules/isTypedArray.js </a> <a class="source" href="isUndefined.html"> modules/isUndefined.js </a> <a class="source" href="isWeakMap.html"> modules/isWeakMap.js </a> <a class="source" href="isWeakSet.html"> modules/isWeakSet.js </a> <a class="source" href="iteratee.html"> modules/iteratee.js </a> <a class="source" href="keys.html"> modules/keys.js </a> <a class="source" href="last.html"> modules/last.js </a> <a class="source" href="lastIndexOf.html"> modules/lastIndexOf.js </a> <a class="source" href="map.html"> modules/map.js </a> <a class="source" href="mapObject.html"> modules/mapObject.js </a> <a class="source" href="matcher.html"> modules/matcher.js </a> <a class="source" href="max.html"> modules/max.js </a> <a class="source" href="memoize.html"> modules/memoize.js </a> <a class="source" href="min.html"> modules/min.js </a> <a class="source" href="mixin.html"> modules/mixin.js </a> <a class="source" href="negate.html"> modules/negate.js </a> <a class="source" href="noop.html"> modules/noop.js </a> <a class="source" href="now.html"> modules/now.js </a> <a class="source" href="object.html"> modules/object.js </a> <a class="source" href="omit.html"> modules/omit.js </a> <a class="source" href="once.html"> modules/once.js </a> <a class="source" href="pairs.html"> modules/pairs.js </a> <a class="source" href="partial.html"> modules/partial.js </a> <a class="source" href="partition.html"> modules/partition.js </a> <a class="source" href="pick.html"> modules/pick.js </a> <a class="source" href="pluck.html"> modules/pluck.js </a> <a class="source" href="property.html"> modules/property.js </a> <a class="source" href="propertyOf.html"> modules/propertyOf.js </a> <a class="source" href="random.html"> modules/random.js </a> <a class="source" href="range.html"> modules/range.js </a> <a class="source" href="reduce.html"> modules/reduce.js </a> <a class="source" href="reduceRight.html"> modules/reduceRight.js </a> <a class="source" href="reject.html"> modules/reject.js </a> <a class="source" href="rest.html"> modules/rest.js </a> <a class="source" href="restArguments.html"> modules/restArguments.js </a> <a class="source" href="result.html"> modules/result.js </a> <a class="source" href="sample.html"> modules/sample.js </a> <a class="source" href="shuffle.html"> modules/shuffle.js </a> <a class="source" href="size.html"> modules/size.js </a> <a class="source" href="some.html"> modules/some.js </a> <a class="source" href="sortBy.html"> modules/sortBy.js </a> <a class="source" href="sortedIndex.html"> modules/sortedIndex.js </a> <a class="source" href="tap.html"> modules/tap.js </a> <a class="source" href="template.html"> modules/template.js </a> <a class="source" href="templateSettings.html"> modules/templateSettings.js </a> <a class="source" href="throttle.html"> modules/throttle.js </a> <a class="source" href="times.html"> modules/times.js </a> <a class="source" href="toArray.html"> modules/toArray.js </a> <a class="source" href="toPath.html"> modules/toPath.js </a> <a class="source" href="underscore-array-methods.html"> modules/underscore-array-methods.js </a> <a class="source" href="underscore.html"> modules/underscore.js </a> <a class="source" href="unescape.html"> modules/unescape.js </a> <a class="source" href="union.html"> modules/union.js </a> <a class="source" href="uniq.html"> modules/uniq.js </a> <a class="source" href="uniqueId.html"> modules/uniqueId.js </a> <a class="source" href="unzip.html"> modules/unzip.js </a> <a class="source" href="values.html"> modules/values.js </a> <a class="source" href="where.html"> modules/where.js </a> <a class="source" href="without.html"> modules/without.js </a> <a class="source" href="wrap.html"> modules/wrap.js </a> <a class="source" href="zip.html"> modules/zip.js </a> </div> </div> </li> </ul> <ul class="sections"> <li id="title"> <div class="annotation"> <h1>functions.js</h1> </div> </li> <li id="section-1"> <div class="annotation"> <div class="pilwrap "> <a class="pilcrow" href="#section-1">¶</a> </div> </div> <div class="content"><div class='highlight'><pre><span class="hljs-keyword">import</span> isFunction <span class="hljs-keyword">from</span> <span class="hljs-string">'./isFunction.js'</span>;</pre></div></div> </li> <li id="section-2"> <div class="annotation"> <div class="pilwrap "> <a class="pilcrow" href="#section-2">¶</a> </div> <p>Return a sorted list of the function names available on the object.</p> </div> <div class="content"><div class='highlight'><pre><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">functions</span>(<span class="hljs-params">obj</span>) </span>{ <span class="hljs-keyword">var</span> names = []; <span class="hljs-keyword">for</span> (<span class="hljs-keyword">var</span> key <span class="hljs-keyword">in</span> obj) { <span class="hljs-keyword">if</span> (isFunction(obj[key])) names.push(key); } <span class="hljs-keyword">return</span> names.sort(); }</pre></div></div> </li> </ul> </div> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script> // We run a script at page load to inject the links after the fact. // It would be more elegant to do this at page generation time, but // unfortunately the docco infrastructure doesn't support this very well. // Highlighted code is passed along as an unparsed HTML string, which would // make this very tricky. In the script below, we exploit the fact that the // HTML has already been parsed by the browser. (function() { // Define a regex for stripping the .html extension from anchor hrefs. var extPattern = /\.html$/; // Collect all module paths that we have an HTML page for. var moduleMap = {}; $('#jump_page a.source').each(function() { // Fortunately, translating anchor hrefs to ES module paths is easy, // because both systems work relative to the current file by default. var href = $(this).attr('href'); var path = href.replace(extPattern, '').split('/'); if (path[0] !== '..') path.unshift('.'); var normPath = path.join('/'); // Support both paths with and without extension. moduleMap[normPath] = moduleMap[normPath + '.js'] = href; }); // Find all 'from' keywords followed by a string (ES6 import statements). $('.hljs-keyword').filter(function() { var text = $(this).text(); return text === 'from' || text === 'import'; }).next('.hljs-string').each(function() { // Finally, for each of these strings, replace it by a link if we have // a matching HTML page. var text = $(this).text(); var quote = text[0]; var path = text.slice(1, -1); var matchingDoc = moduleMap[path]; if (!matchingDoc) return; $(this).html( quote + '<a href="' + matchingDoc + '">' + path + '</a>' + quote ); }); }()); </script> </body> </html>