├── .gitattributes ├── CHANGELOG ├── .gitignore ├── lib ├── fp │ ├── template │ │ ├── modules │ │ │ ├── alias.jst │ │ │ ├── category.jst │ │ │ ├── fp.jst │ │ │ ├── _falseOptions.jst │ │ │ ├── module.jst │ │ │ ├── thru.jst │ │ │ ├── _util.jst │ │ │ └── convert.jst │ │ └── doc │ │ │ └── wiki.jst │ ├── build-dist.js │ ├── build-doc.js │ └── build-modules.js ├── common │ ├── mapping.js │ ├── uglify.options.js │ ├── util.js │ ├── minify.js │ └── file.js └── main │ ├── build-dist.js │ ├── build-modules.js │ ├── build-doc.js │ └── build-site.js ├── vendor ├── firebug-lite │ ├── skin │ │ └── xp │ │ │ ├── min.png │ │ │ ├── off.png │ │ │ ├── up.png │ │ │ ├── blank.gif │ │ │ ├── detach.png │ │ │ ├── down.png │ │ │ ├── group.gif │ │ │ ├── search.gif │ │ │ ├── search.png │ │ │ ├── shadow.gif │ │ │ ├── sprite.png │ │ │ ├── tabMid.png │ │ │ ├── buttonBg.png │ │ │ ├── disable.gif │ │ │ ├── disable.png │ │ │ ├── firebug.png │ │ │ ├── infoIcon.gif │ │ │ ├── infoIcon.png │ │ │ ├── minHover.png │ │ │ ├── offHover.png │ │ │ ├── shadow2.gif │ │ │ ├── tabLeft.png │ │ │ ├── tabRight.png │ │ │ ├── upActive.png │ │ │ ├── upHover.png │ │ │ ├── detachHover.png │ │ │ ├── downActive.png │ │ │ ├── downHover.png │ │ │ ├── errorIcon.gif │ │ │ ├── errorIcon.png │ │ │ ├── loading_16.gif │ │ │ ├── shadowAlpha.png │ │ │ ├── tabHoverMid.png │ │ │ ├── tabMenuPin.png │ │ │ ├── titlebarMid.png │ │ │ ├── toolbarMid.png │ │ │ ├── tree_close.gif │ │ │ ├── tree_open.gif │ │ │ ├── twistyOpen.png │ │ │ ├── warningIcon.gif │ │ │ ├── warningIcon.png │ │ │ ├── buttonBgHover.png │ │ │ ├── disableHover.gif │ │ │ ├── disableHover.png │ │ │ ├── errorIcon-sm.png │ │ │ ├── tabHoverLeft.png │ │ │ ├── tabHoverRight.png │ │ │ ├── tabMenuRadio.png │ │ │ ├── tabMenuTarget.png │ │ │ ├── twistyClosed.png │ │ │ ├── tabMenuCheckbox.png │ │ │ ├── pixel_transparent.gif │ │ │ ├── tabMenuTargetHover.png │ │ │ ├── textEditorBorders.gif │ │ │ ├── textEditorBorders.png │ │ │ ├── textEditorCorners.gif │ │ │ ├── textEditorCorners.png │ │ │ ├── roundCorner.svg │ │ │ ├── firebug.IE6.css │ │ │ ├── firebug.html │ │ │ ├── html.css │ │ │ └── debugger.css │ └── license.txt ├── backbone │ ├── test │ │ ├── setup │ │ │ ├── dom-setup.js │ │ │ └── environment.js │ │ ├── noconflict.js │ │ └── sync.js │ └── LICENSE └── underscore │ ├── LICENSE │ ├── test │ ├── chaining.js │ └── cross-document.js │ └── underscore-min.js ├── fp ├── placeholder.js ├── _convertBrowser.js └── _mapping.js ├── .markdown-doctest-setup.js ├── .editorconfig ├── test ├── asset │ ├── worker.js │ └── test-ui.js ├── remove.js ├── fp.html ├── backbone.html └── index.html ├── LICENSE ├── package.json ├── perf ├── index.html └── asset │ └── perf-ui.js ├── .jscsrc ├── README.md ├── .github └── CONTRIBUTING.md ├── .travis.yml └── dist ├── lodash.fp.min.js ├── lodash.core.min.js └── mapping.fp.js /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /CHANGELOG: -------------------------------------------------------------------------------- 1 | https://github.com/lodash/lodash/wiki/Changelog 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.log 3 | doc/*.html 4 | node_modules 5 | -------------------------------------------------------------------------------- /lib/fp/template/modules/alias.jst: -------------------------------------------------------------------------------- 1 | module.exports = require('./<%= name %>'); 2 | -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/min.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/off.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/up.png -------------------------------------------------------------------------------- /lib/fp/template/modules/category.jst: -------------------------------------------------------------------------------- 1 | var convert = require('./convert'); 2 | module.exports = convert(require('../<%= name %>')); 3 | -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/blank.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/detach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/detach.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/down.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/group.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/group.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/search.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/search.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/search.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/shadow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/shadow.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/sprite.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabMid.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/buttonBg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/buttonBg.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/disable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/disable.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/disable.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/firebug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/firebug.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/infoIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/infoIcon.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/infoIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/infoIcon.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/minHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/minHover.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/offHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/offHover.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/shadow2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/shadow2.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabLeft.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabRight.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/upActive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/upActive.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/upHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/upHover.png -------------------------------------------------------------------------------- /lib/fp/template/modules/fp.jst: -------------------------------------------------------------------------------- 1 | var _ = require('./lodash.min').runInContext(); 2 | module.exports = require('./fp/_baseConvert')(_, _); 3 | -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/detachHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/detachHover.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/downActive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/downActive.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/downHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/downHover.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/errorIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/errorIcon.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/errorIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/errorIcon.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/loading_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/loading_16.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/shadowAlpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/shadowAlpha.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabHoverMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabHoverMid.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabMenuPin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabMenuPin.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/titlebarMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/titlebarMid.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/toolbarMid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/toolbarMid.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tree_close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tree_close.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tree_open.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tree_open.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/twistyOpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/twistyOpen.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/warningIcon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/warningIcon.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/warningIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/warningIcon.png -------------------------------------------------------------------------------- /fp/placeholder.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The default argument placeholder value for methods. 3 | * 4 | * @type {Object} 5 | */ 6 | module.exports = {}; 7 | -------------------------------------------------------------------------------- /vendor/backbone/test/setup/dom-setup.js: -------------------------------------------------------------------------------- 1 | $('body').append( 2 | '
' + 3 | '' 4 | ); 5 | -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/buttonBgHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/buttonBgHover.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/disableHover.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/disableHover.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/disableHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/disableHover.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/errorIcon-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/errorIcon-sm.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabHoverLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabHoverLeft.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabHoverRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabHoverRight.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabMenuRadio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabMenuRadio.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabMenuTarget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabMenuTarget.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/twistyClosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/twistyClosed.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabMenuCheckbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabMenuCheckbox.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/pixel_transparent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/pixel_transparent.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/tabMenuTargetHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/tabMenuTargetHover.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/textEditorBorders.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/textEditorBorders.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/textEditorBorders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/textEditorBorders.png -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/textEditorCorners.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/textEditorCorners.gif -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/textEditorCorners.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postmanlabs/lodash3/master/vendor/firebug-lite/skin/xp/textEditorCorners.png -------------------------------------------------------------------------------- /lib/fp/template/modules/_falseOptions.jst: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'cap': false, 3 | 'curry': false, 4 | 'fixed': false, 5 | 'immutable': false, 6 | 'rearg': false 7 | }; 8 | -------------------------------------------------------------------------------- /lib/fp/template/modules/module.jst: -------------------------------------------------------------------------------- 1 | var convert = require('./convert'), 2 | func = convert('<%= name %>', require('../<%= _.get(mapping.remap, name, name) %>')); 3 | 4 | func.placeholder = require('./placeholder'); 5 | module.exports = func; 6 | -------------------------------------------------------------------------------- /lib/fp/template/modules/thru.jst: -------------------------------------------------------------------------------- 1 | var convert = require('./convert'), 2 | func = convert('<%= name %>', require('../<%= _.get(mapping.remap, name, name) %>'), require('./_falseOptions')); 3 | 4 | func.placeholder = require('./placeholder'); 5 | module.exports = func; 6 | -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/roundCorner.svg: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /.markdown-doctest-setup.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | delete global['__core-js_shared__']; 4 | 5 | const _ = require('./lodash.js'); 6 | const globals = require('lodash-doc-globals'); 7 | 8 | module.exports = { 9 | 'babel': false, 10 | 'globals': _.assign({ '_': _ }, globals) 11 | }; 12 | -------------------------------------------------------------------------------- /lib/common/mapping.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const _mapping = require('../../fp/_mapping'); 4 | const util = require('./util'); 5 | const Hash = util.Hash; 6 | 7 | /*----------------------------------------------------------------------------*/ 8 | 9 | module.exports = new Hash(_mapping); 10 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | end_of_line = lf 9 | indent_size = 2 10 | indent_style = space 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | -------------------------------------------------------------------------------- /test/asset/worker.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | self.console || (self.console = { 'log': function() {} }); 4 | 5 | addEventListener('message', function(e) { 6 | if (e.data) { 7 | try { 8 | importScripts('../' + e.data); 9 | } catch (e) { 10 | var lineNumber = e.lineNumber, 11 | message = (lineNumber == null ? '' : (lineNumber + ': ')) + e.message; 12 | 13 | self._ = { 'VERSION': message }; 14 | } 15 | postMessage(_.VERSION); 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /vendor/backbone/test/noconflict.js: -------------------------------------------------------------------------------- 1 | (function(QUnit) { 2 | 3 | QUnit.module('Backbone.noConflict'); 4 | 5 | QUnit.test('noConflict', function(assert) { 6 | assert.expect(2); 7 | var noconflictBackbone = Backbone.noConflict(); 8 | assert.equal(window.Backbone, undefined, 'Returned window.Backbone'); 9 | window.Backbone = noconflictBackbone; 10 | assert.equal(window.Backbone, noconflictBackbone, 'Backbone is still pointing to the original Backbone'); 11 | }); 12 | 13 | })(QUnit); 14 | -------------------------------------------------------------------------------- /lib/fp/template/modules/_util.jst: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 'ary': require('../ary'), 3 | 'assign': require('../_baseAssign'), 4 | 'clone': require('../clone'), 5 | 'curry': require('../curry'), 6 | 'forEach': require('../_arrayEach'), 7 | 'isArray': require('../isArray'), 8 | 'isFunction': require('../isFunction'), 9 | 'iteratee': require('../iteratee'), 10 | 'keys': require('../_baseKeys'), 11 | 'rearg': require('../rearg'), 12 | 'spread': require('../spread'), 13 | 'toInteger': require('../toInteger'), 14 | 'toPath': require('../toPath') 15 | }; 16 | -------------------------------------------------------------------------------- /lib/common/uglify.options.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * The UglifyJS options object for 5 | * [compress](https://github.com/mishoo/UglifyJS2#compressor-options), 6 | * [mangle](https://github.com/mishoo/UglifyJS2#mangler-options), and 7 | * [output](https://github.com/mishoo/UglifyJS2#beautifier-options) options. 8 | */ 9 | module.exports = { 10 | 'compress': { 11 | 'collapse_vars': true, 12 | 'negate_iife': false, 13 | 'pure_getters': true, 14 | 'unsafe': true, 15 | 'warnings': false 16 | }, 17 | 'output': { 18 | 'ascii_only': true, 19 | 'comments': /@license/, 20 | 'max_line_len': 500 21 | } 22 | }; 23 | -------------------------------------------------------------------------------- /fp/_convertBrowser.js: -------------------------------------------------------------------------------- 1 | var baseConvert = require('./_baseConvert'); 2 | 3 | /** 4 | * Converts `lodash` to an immutable auto-curried iteratee-first data-last 5 | * version with conversion `options` applied. 6 | * 7 | * @param {Function} lodash The lodash function to convert. 8 | * @param {Object} [options] The options object. See `baseConvert` for more details. 9 | * @returns {Function} Returns the converted `lodash`. 10 | */ 11 | function browserConvert(lodash, options) { 12 | return baseConvert(lodash, lodash, options); 13 | } 14 | 15 | if (typeof _ == 'function' && typeof _.runInContext == 'function') { 16 | _ = browserConvert(_.runInContext()); 17 | } 18 | module.exports = browserConvert; 19 | -------------------------------------------------------------------------------- /lib/fp/template/modules/convert.jst: -------------------------------------------------------------------------------- 1 | var baseConvert = require('./_baseConvert'), 2 | util = require('./_util'); 3 | 4 | /** 5 | * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last 6 | * version with conversion `options` applied. If `name` is an object its methods 7 | * will be converted. 8 | * 9 | * @param {string} name The name of the function to wrap. 10 | * @param {Function} [func] The function to wrap. 11 | * @param {Object} [options] The options object. See `baseConvert` for more details. 12 | * @returns {Function|Object} Returns the converted function or object. 13 | */ 14 | function convert(name, func, options) { 15 | return baseConvert(util, name, func, options); 16 | } 17 | 18 | module.exports = convert; 19 | -------------------------------------------------------------------------------- /vendor/firebug-lite/skin/xp/firebug.IE6.css: -------------------------------------------------------------------------------- 1 | /************************************************************************************************/ 2 | #fbToolbarSearch { 3 | background-image: url(search.gif) !important; 4 | } 5 | /************************************************************************************************/ 6 | .fbErrors { 7 | background-image: url(errorIcon.gif) !important; 8 | } 9 | /************************************************************************************************/ 10 | .logRow-info { 11 | background-image: url(infoIcon.gif) !important; 12 | } 13 | 14 | .logRow-warning { 15 | background-image: url(warningIcon.gif) !important; 16 | } 17 | 18 | .logRow-error { 19 | background-image: url(errorIcon.gif) !important; 20 | } 21 | -------------------------------------------------------------------------------- /lib/main/build-dist.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const async = require('async'); 4 | const path = require('path'); 5 | 6 | const file = require('../common/file'); 7 | const util = require('../common/util'); 8 | 9 | const basePath = path.join(__dirname, '..', '..'); 10 | const distPath = path.join(basePath, 'dist'); 11 | const filename = 'lodash.js'; 12 | 13 | const baseLodash = path.join(basePath, filename); 14 | const distLodash = path.join(distPath, filename); 15 | 16 | /*----------------------------------------------------------------------------*/ 17 | 18 | /** 19 | * Creates browser builds of Lodash at the `target` path. 20 | * 21 | * @private 22 | * @param {string} target The output directory path. 23 | */ 24 | function build() { 25 | async.series([ 26 | file.copy(baseLodash, distLodash), 27 | file.min(distLodash) 28 | ], util.pitch); 29 | } 30 | 31 | build(); 32 | -------------------------------------------------------------------------------- /test/remove.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict'; 3 | 4 | var _ = require('../lodash'), 5 | fs = require('fs'), 6 | path = require('path'); 7 | 8 | var args = (args = process.argv) 9 | .slice((args[0] === process.execPath || args[0] === 'node') ? 2 : 0); 10 | 11 | var filePath = path.resolve(args[1]), 12 | reLine = /.*/gm; 13 | 14 | var pattern = (function() { 15 | var result = args[0], 16 | delimiter = result.charAt(0), 17 | lastIndex = result.lastIndexOf(delimiter); 18 | 19 | return RegExp(result.slice(1, lastIndex), result.slice(lastIndex + 1)); 20 | }()); 21 | 22 | /*----------------------------------------------------------------------------*/ 23 | 24 | fs.writeFileSync(filePath, fs.readFileSync(filePath, 'utf8').replace(pattern, function(match) { 25 | var snippet = _.slice(arguments, -3, -2)[0]; 26 | return match.replace(snippet, snippet.replace(reLine, '')); 27 | })); 28 | -------------------------------------------------------------------------------- /lib/main/build-modules.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const _ = require('lodash'); 4 | const async = require('async'); 5 | const path = require('path'); 6 | 7 | const file = require('../common/file'); 8 | const util = require('../common/util'); 9 | 10 | const basePath = path.join(__dirname, '..', '..'); 11 | const distPath = path.join(basePath, 'dist'); 12 | 13 | const filePairs = [ 14 | [path.join(distPath, 'lodash.core.js'), 'core.js'], 15 | [path.join(distPath, 'lodash.core.min.js'), 'core.min.js'], 16 | [path.join(distPath, 'lodash.min.js'), 'lodash.min.js'] 17 | ]; 18 | 19 | /*----------------------------------------------------------------------------*/ 20 | 21 | /** 22 | * Creates supplementary Lodash modules at the `target` path. 23 | * 24 | * @private 25 | * @param {string} target The output directory path. 26 | */ 27 | function build(target) { 28 | const actions = _.map(filePairs, pair => 29 | file.copy(pair[0], path.join(target, pair[1]))); 30 | 31 | async.series(actions, util.pitch); 32 | } 33 | 34 | build(_.last(process.argv)); 35 | -------------------------------------------------------------------------------- /lib/common/util.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const _ = require('lodash'); 4 | 5 | /*----------------------------------------------------------------------------*/ 6 | 7 | /** 8 | * Creates a hash object. If a `properties` object is provided, its own 9 | * enumerable properties are assigned to the created hash. 10 | * 11 | * @memberOf util 12 | * @param {Object} [properties] The properties to assign to the hash. 13 | * @returns {Object} Returns the new hash object. 14 | */ 15 | function Hash(properties) { 16 | return _.transform(properties, (result, value, key) => { 17 | result[key] = (_.isPlainObject(value) && !(value instanceof Hash)) 18 | ? new Hash(value) 19 | : value; 20 | }, this); 21 | } 22 | 23 | Hash.prototype = Object.create(null); 24 | 25 | /** 26 | * This method throws any error it receives. 27 | * 28 | * @memberOf util 29 | * @param {Object} [error] The error object. 30 | */ 31 | function pitch(error) { 32 | if (error != null) { 33 | throw error; 34 | } 35 | } 36 | 37 | module.exports = { 38 | Hash, 39 | pitch 40 | }; 41 | -------------------------------------------------------------------------------- /vendor/backbone/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2016 Jeremy Ashkenas, DocumentCloud 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /vendor/underscore/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative 2 | Reporters & Editors 3 | 4 | Permission is hereby granted, free of charge, to any person 5 | obtaining a copy of this software and associated documentation 6 | files (the "Software"), to deal in the Software without 7 | restriction, including without limitation the rights to use, 8 | copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the 10 | Software is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 23 | OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /vendor/backbone/test/setup/environment.js: -------------------------------------------------------------------------------- 1 | (function(QUnit) { 2 | 3 | var sync = Backbone.sync; 4 | var ajax = Backbone.ajax; 5 | var emulateHTTP = Backbone.emulateHTTP; 6 | var emulateJSON = Backbone.emulateJSON; 7 | var history = window.history; 8 | var pushState = history.pushState; 9 | var replaceState = history.replaceState; 10 | 11 | QUnit.config.noglobals = true; 12 | 13 | QUnit.testStart(function() { 14 | var env = QUnit.config.current.testEnvironment; 15 | 16 | // We never want to actually call these during tests. 17 | history.pushState = history.replaceState = function() {}; 18 | 19 | // Capture ajax settings for comparison. 20 | Backbone.ajax = function(settings) { 21 | env.ajaxSettings = settings; 22 | }; 23 | 24 | // Capture the arguments to Backbone.sync for comparison. 25 | Backbone.sync = function(method, model, options) { 26 | env.syncArgs = { 27 | method: method, 28 | model: model, 29 | options: options 30 | }; 31 | sync.apply(this, arguments); 32 | }; 33 | 34 | }); 35 | 36 | QUnit.testDone(function() { 37 | Backbone.sync = sync; 38 | Backbone.ajax = ajax; 39 | Backbone.emulateHTTP = emulateHTTP; 40 | Backbone.emulateJSON = emulateJSON; 41 | history.pushState = pushState; 42 | history.replaceState = replaceState; 43 | }); 44 | 45 | })(QUnit); 46 | -------------------------------------------------------------------------------- /lib/common/minify.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const _ = require('lodash'); 4 | const fs = require('fs-extra'); 5 | const uglify = require('uglify-js'); 6 | 7 | const uglifyOptions = require('./uglify.options'); 8 | 9 | /*----------------------------------------------------------------------------*/ 10 | 11 | /** 12 | * Asynchronously minifies the file at `srcPath`, writes it to `destPath`, and 13 | * invokes `callback` upon completion. The callback is invoked with one argument: 14 | * (error). 15 | * 16 | * If unspecified, `destPath` is `srcPath` with an extension of `.min.js`. 17 | * (e.g. the `destPath` of `path/to/foo.js` would be `path/to/foo.min.js`) 18 | * 19 | * @param {string} srcPath The path of the file to minify. 20 | * @param {string} [destPath] The path to write the file to. 21 | * @param {Function} callback The function invoked upon completion. 22 | * @param {Object} [option] The UglifyJS options object. 23 | */ 24 | function minify(srcPath, destPath, callback, options) { 25 | if (_.isFunction(destPath)) { 26 | if (_.isObject(callback)) { 27 | options = callback; 28 | } 29 | callback = destPath; 30 | destPath = undefined; 31 | } 32 | if (!destPath) { 33 | destPath = srcPath.replace(/(?=\.js$)/, '.min'); 34 | } 35 | const output = uglify.minify(srcPath, _.defaults(options || {}, uglifyOptions)); 36 | fs.writeFile(destPath, output.code, 'utf-8', callback); 37 | } 38 | 39 | module.exports = minify; 40 | -------------------------------------------------------------------------------- /test/fp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |_.${ id }`);
46 | }
47 | });
48 | }
49 |
50 | /**
51 | * Removes horizontal rules from the document.
52 | *
53 | * @private
54 | * @param {Object} $ The Cheerio object.
55 | */
56 | function removeHorizontalRules($) {
57 | $('hr').remove();
58 | }
59 |
60 | /**
61 | * Removes marky-markdown specific ids and class names.
62 | *
63 | * @private
64 | * @param {Object} $ The Cheerio object.
65 | */
66 | function removeMarkyAttributes($) {
67 | $('[id^="user-content-"]')
68 | .attr('class', null)
69 | .attr('id', null);
70 |
71 | $(':header:not(h3) > a').each(function() {
72 | const $a = $(this);
73 | $a.replaceWith($a.html());
74 | });
75 | }
76 |
77 | /**
78 | * Renames "_" id and anchor references to "lodash".
79 | *
80 | * @private
81 | * @param {Object} $ The Cheerio object.
82 | */
83 | function renameLodashId($) {
84 | $('#_').attr('id', 'lodash');
85 | $('[href="#_"]').attr('href', '#lodash');
86 | }
87 |
88 | /**
89 | * Repairs broken marky-markdown headers.
90 | * See https://github.com/npm/marky-markdown/issues/217 for more details.
91 | *
92 | * @private
93 | * @param {Object} $ The Cheerio object.
94 | */
95 | function repairMarkyHeaders($) {
96 | $('p:empty + h3').prev().remove();
97 |
98 | $('h3 ~ p:empty').each(function() {
99 | const $p = $(this);
100 | let node = this.prev;
101 | while ((node = node.prev) && node.name != 'h3' && node.name != 'p') {
102 | $p.prepend(node.next);
103 | }
104 | });
105 |
106 | $('h3 code em').parent().each(function() {
107 | const $code = $(this);
108 | $code.html($code.html().replace(/<\/?em>/g, '_'));
109 | });
110 | }
111 |
112 | /**
113 | * Cleans up highlights blocks by removing extraneous class names and elements.
114 | *
115 | * @private
116 | * @param {Object} $ The Cheerio object.
117 | */
118 | function tidyHighlights($) {
119 | $('.highlight').each(function() {
120 | let $spans;
121 | const $parent = $(this);
122 | const classes = $parent.find('.source,.text').first().attr('class').split(' ');
123 | const ext = _(classes).intersection(exts).last();
124 |
125 | $parent.addClass(ext);
126 |
127 | // Remove line indicators for single line snippets.
128 | $parent.children('pre').each(function() {
129 | const $divs = $(this).children('div');
130 | if ($divs.length == 1) {
131 | $divs.replaceWith($divs.html());
132 | }
133 | });
134 | // Remove extraneous class names.
135 | $parent.find('[class]').each(function() {
136 | const $element = $(this);
137 | const classes = $element.attr('class').split(' ');
138 | const attr = _(classes).intersection(highlights[ext]).join(' ');
139 | $element.attr('class', attr || null);
140 | });
141 | // Collapse nested comment highlights.
142 | $parent.find(`[class~="comment"]`).each(function() {
143 | const $element = $(this);
144 | $element.text($element.text().trim());
145 | });
146 | // Collapse nested string highlights.
147 | $parent.find(`[class~="string"]`).each(function() {
148 | const $element = $(this);
149 | $element.text($element.text());
150 | });
151 | // Collapse nested spans.
152 | while (($spans = $parent.find('span:not([class])')).length) {
153 | $spans.each(function() {
154 | let $span = $(this);
155 | while ($span[0] && $span[0].name == 'span' && !$span.attr('class')) {
156 | const $parent = $span.parent();
157 | $span.replaceWith($span.html());
158 | $span = $parent;
159 | }
160 | });
161 | }
162 | });
163 | }
164 |
165 | /*----------------------------------------------------------------------------*/
166 |
167 | /**
168 | * Creates the documentation HTML.
169 | *
170 | * @private
171 | */
172 | function build() {
173 | const markdown = fs
174 | // Load markdown.
175 | .readFileSync(readmePath, 'utf8')
176 | // Uncomment docdown HTML hints.
177 | .replace(/(<)!--\s*|\s*--(>)/g, '$1$2');
178 |
179 | const $ = marky(markdown, { 'sanitize': false });
180 | const $header = $('h1').first().remove();
181 | const version = $header.find('span').first().text().trim().slice(1);
182 |
183 | // Auto-link Lodash method references.
184 | autoLink($);
185 | // Rename "_" id references to "lodash".
186 | renameLodashId($);
187 | // Remove docdown horizontal rules.
188 | removeHorizontalRules($);
189 | // Remove marky-markdown attribute additions.
190 | removeMarkyAttributes($);
191 | // Repair marky-markdown wrapping around headers.
192 | repairMarkyHeaders($);
193 | // Cleanup highlights.
194 | tidyHighlights($);
195 |
196 | const html = [
197 | // Append YAML front matter.
198 | '---',
199 | 'id: docs',
200 | 'layout: docs',
201 | 'title: Lodash Documentation',
202 | 'version: ' + (version || null),
203 | '---',
204 | '',
205 | // Wrap in raw tags to avoid Liquid template tag processing.
206 | '{% raw %}',
207 | $.html().trim(),
208 | '{% endraw %}',
209 | ''
210 | ].join('\n');
211 |
212 | fs.writeFile(path.join(docPath, version + '.html'), html, util.pitch);
213 | }
214 |
215 | build();
216 |
--------------------------------------------------------------------------------
/test/backbone.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | |
17 |
18 |
24 |
25 |
26 |
31 |
32 |
33 |
34 |
78 |
79 |
80 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
44 |
45 |
46 |
47 |
48 |
49 | Inspect
50 |
51 |
52 |
53 |
56 |
57 |
58 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
73 |
74 |
75 |
76 |
77 |
81 |
82 |
83 |
136 |
137 |
138 |
84 |
85 |
86 | Console
87 |
88 |
89 |
90 |
91 |
92 | HTML
93 |
94 |
95 |
96 |
97 | CSS
98 |
99 |
100 |
101 |
102 | Script
103 |
104 |
105 |
106 |
107 | DOM
108 |
109 |
110 |
111 |
112 |
113 |
114 |
134 |
135 |
115 |
132 |
133 | |
141 | |
|
148 |
149 |
150 |
151 |
152 | |
153 |
154 |
155 |
156 |
157 |
158 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
180 |
181 | |
182 |
183 |
| 190 | 195 | | 196 | 197 ||