mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-03 08:37:49 +00:00
Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
064fd497ae | ||
|
|
49c60b6b75 | ||
|
|
ca7f36506c | ||
|
|
155f0a9736 | ||
|
|
25e1eb3ce9 | ||
|
|
f2f980928b | ||
|
|
1d121a97a7 | ||
|
|
211d13da09 | ||
|
|
11343d469e | ||
|
|
d7c8041aa1 | ||
|
|
9587e30af8 | ||
|
|
76fa7affaf | ||
|
|
2971dd8672 | ||
|
|
2a33fe3564 | ||
|
|
46cdf5da70 | ||
|
|
28c801bfd4 | ||
|
|
c22cd40293 | ||
|
|
56bd430983 | ||
|
|
d873890e46 | ||
|
|
d29b8eca3c | ||
|
|
6f258000fe | ||
|
|
255211cd07 | ||
|
|
f6d28a90e3 | ||
|
|
ed66ff88a1 | ||
|
|
82e58f2bf9 | ||
|
|
797a87ca26 | ||
|
|
ec6a709393 | ||
|
|
07cbfdb424 | ||
|
|
3b9bd944fb | ||
|
|
934e585cb3 | ||
|
|
3a68f4cf54 | ||
|
|
bd00fcb875 | ||
|
|
905dd5a70f |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* text=auto
|
||||||
@@ -3,5 +3,5 @@ node_js:
|
|||||||
- 0.6
|
- 0.6
|
||||||
- 0.8
|
- 0.8
|
||||||
before_script:
|
before_script:
|
||||||
- "curl -H 'Accept: application/vnd.github.v3.raw' https://api.github.com/repos/bestiejs/lodash/git/blobs/aa29a2ecf6f51d4da5a2a418c0d4ea0e368ee80d | tar xvz -C vendor"
|
- "curl -H 'Accept: application/vnd.github.v3.raw' https://api.github.com/repos/bestiejs/lodash/git/blobs/a2787b470c577cee2404d186c562dd9835f779f5 | tar xvz -C vendor"
|
||||||
- "curl -H 'Accept: application/vnd.github.v3.raw' https://api.github.com/repos/bestiejs/lodash/git/blobs/9869c4443fb22598235d1019fcc8245be41e8889 | tar xvz -C vendor"
|
- "curl -H 'Accept: application/vnd.github.v3.raw' https://api.github.com/repos/bestiejs/lodash/git/blobs/3390b259e04829538e4d3635d12b317dd6103eca | tar xvz -C vendor"
|
||||||
|
|||||||
63
README.md
63
README.md
@@ -1,4 +1,4 @@
|
|||||||
# Lo-Dash <sup>v0.9.2</sup>
|
# Lo-Dash <sup>v0.10.0</sup>
|
||||||
[](http://travis-ci.org/bestiejs/lodash)
|
[](http://travis-ci.org/bestiejs/lodash)
|
||||||
|
|
||||||
A drop-in replacement<sup>[*](https://github.com/bestiejs/lodash/wiki/Drop-in-Disclaimer)</sup> for Underscore.js, from the devs behind [jsPerf.com](http://jsperf.com), delivering [performance](http://lodash.com/benchmarks), [bug fixes](https://github.com/bestiejs/lodash#resolved-underscorejs-issues), and [additional features](http://lodash.com/#features).
|
A drop-in replacement<sup>[*](https://github.com/bestiejs/lodash/wiki/Drop-in-Disclaimer)</sup> for Underscore.js, from the devs behind [jsPerf.com](http://jsperf.com), delivering [performance](http://lodash.com/benchmarks), [bug fixes](https://github.com/bestiejs/lodash#resolved-underscorejs-issues), and [additional features](http://lodash.com/#features).
|
||||||
@@ -7,10 +7,10 @@ Lo-Dash’s performance is gained by avoiding slower native methods, instead opt
|
|||||||
|
|
||||||
## Download
|
## Download
|
||||||
|
|
||||||
* [Development build](https://raw.github.com/bestiejs/lodash/v0.9.2/lodash.js)
|
* [Development build](https://raw.github.com/bestiejs/lodash/v0.10.0/lodash.js)
|
||||||
* [Production build](https://raw.github.com/bestiejs/lodash/v0.9.2/lodash.min.js)
|
* [Production build](https://raw.github.com/bestiejs/lodash/v0.10.0/lodash.min.js)
|
||||||
* [Underscore build](https://raw.github.com/bestiejs/lodash/v0.9.2/lodash.underscore.min.js) tailored for projects already using Underscore
|
* [Underscore build](https://raw.github.com/bestiejs/lodash/v0.10.0/lodash.underscore.min.js) tailored for projects already using Underscore
|
||||||
* CDN copies of ≤ v0.9.2’s [Production](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.min.js), [Underscore](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.underscore.min.js), and [Development](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.js) builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/)
|
* CDN copies of ≤ v0.10.0’s [Production](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js), [Underscore](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.underscore.min.js), and [Development](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.js) builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/)
|
||||||
* For optimal file size, [create a custom build](https://github.com/bestiejs/lodash#custom-builds) with only the features you need
|
* For optimal file size, [create a custom build](https://github.com/bestiejs/lodash#custom-builds) with only the features you need
|
||||||
|
|
||||||
## Dive in
|
## Dive in
|
||||||
@@ -30,6 +30,7 @@ For more information check out these screencasts over Lo-Dash:
|
|||||||
* [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)
|
* [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)
|
||||||
* [Unit testing in Lo-Dash](https://vimeo.com/45865290)
|
* [Unit testing in Lo-Dash](https://vimeo.com/45865290)
|
||||||
* [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)
|
* [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)
|
||||||
|
* [CascadiaJS: Lo-Dash for a better utility belt](http://www.youtube.com/watch?v=dpPy4f_SeEk)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
@@ -40,7 +41,7 @@ For more information check out these screencasts over Lo-Dash:
|
|||||||
* [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties
|
* [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties
|
||||||
* [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties
|
* [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties
|
||||||
* [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor
|
* [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor
|
||||||
* [_.lateBind](http://lodash.com/docs#lateBind) for late binding
|
* [_.bindKey](http://lodash.com/docs#bindKey) for binding [*“lazy”* defined](http://michaux.ca/articles/lazy-function-definition-pattern) methods
|
||||||
* [_.merge](http://lodash.com/docs#merge) for a *“deep”* [_.extend](http://lodash.com/docs#extend)
|
* [_.merge](http://lodash.com/docs#merge) for a *“deep”* [_.extend](http://lodash.com/docs#extend)
|
||||||
* [_.partial](http://lodash.com/docs#partial) for partial application without `this` binding
|
* [_.partial](http://lodash.com/docs#partial) for partial application without `this` binding
|
||||||
* [_.pick](http://lodash.com/docs#pick) and [_.omit](http://lodash.com/docs#omit) accepts `callback` and `thisArg` arguments
|
* [_.pick](http://lodash.com/docs#pick) and [_.omit](http://lodash.com/docs#omit) accepts `callback` and `thisArg` arguments
|
||||||
@@ -62,7 +63,8 @@ To top it off, we handle all method dependency and alias mapping for you.
|
|||||||
lodash backbone
|
lodash backbone
|
||||||
```
|
```
|
||||||
|
|
||||||
* CSP builds, supporting default Content Security Policy restrictions, may be created using the `csp` modifier argument.
|
* CSP builds, supporting default [Content Security Policy](http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html) restrictions, may be created using the `csp` modifier argument.
|
||||||
|
The `csp` modifier is an alais of the `mobile` modifier. Chrome extensions will require [sandboxing](http://developer.chrome.com/trunk/extensions/sandboxingEval.html) or the use of either the `csp`, `mobile`, or `underscore` build.
|
||||||
```bash
|
```bash
|
||||||
lodash csp
|
lodash csp
|
||||||
```
|
```
|
||||||
@@ -164,7 +166,7 @@ In browsers:
|
|||||||
<script src="lodash.js"></script>
|
<script src="lodash.js"></script>
|
||||||
```
|
```
|
||||||
|
|
||||||
Using [npm](http://npmjs.org/):
|
Using [`npm`](http://npmjs.org/):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm install lodash
|
npm install lodash
|
||||||
@@ -173,6 +175,12 @@ npm install -g lodash
|
|||||||
npm link lodash
|
npm link lodash
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To avoid potential issues, update `npm` before installing Lo-Dash:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install npm -g
|
||||||
|
```
|
||||||
|
|
||||||
In [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):
|
In [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):
|
||||||
|
|
||||||
```js
|
```js
|
||||||
@@ -208,25 +216,34 @@ require({
|
|||||||
|
|
||||||
## Resolved Underscore.js issues
|
## Resolved Underscore.js issues
|
||||||
|
|
||||||
* Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/bestiejs/lodash/blob/v0.9.2/test/test.js#L545-551)]
|
* Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/bestiejs/lodash/blob/v0.10.0/test/test.js#L590-L596)]
|
||||||
* Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/bestiejs/lodash/blob/v0.9.2/test/test.js#L558-582)]
|
* Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/bestiejs/lodash/blob/v0.10.0/test/test.js#L603-L627)]
|
||||||
* Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/bestiejs/lodash/blob/v0.9.2/test/test.js#L140-146)]
|
* Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/bestiejs/lodash/blob/v0.10.0/test/test.js#L140-L146)]
|
||||||
* `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/bestiejs/lodash/blob/v0.9.2/test/test.js#L747-752)]
|
* `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/bestiejs/lodash/blob/v0.10.0/test/test.js#L792-L797)]
|
||||||
* `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/v8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/bestiejs/lodash/blob/v0.9.2/test/test.js#L828-840)]
|
* `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/v8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/bestiejs/lodash/blob/v0.10.0/test/test.js#L873-L885)]
|
||||||
* `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/bestiejs/lodash/blob/v0.9.2/test/test.js#L921-923)]
|
* `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/bestiejs/lodash/blob/v0.10.0/test/test.js#L966-L968)]
|
||||||
* `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/bestiejs/lodash/blob/v0.9.2/test/test.js#L1337-1340)]
|
* `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/bestiejs/lodash/blob/v0.10.0/test/test.js#L1367-L1370)]
|
||||||
|
|
||||||
## Release Notes
|
## Release Notes
|
||||||
|
|
||||||
### <sup>v0.9.2</sup>
|
### <sup>v0.10.0</sup>
|
||||||
|
|
||||||
* Added `fromIndex` argument to `_.contains`
|
#### Compatibility Warnings ####
|
||||||
* Added `moduleId` build option
|
|
||||||
* Added Closure Compiler *“simple”* optimizations to the build process
|
* Aligned `_.defaults` and `_.extend` with ES6 [Object.assign](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-15.2.3.15)
|
||||||
* Added support for strings in `_.max` and `_.min`
|
* Renamed `_.lateBind` to `_.bindKey`
|
||||||
* Added support for ES6 template delimiters to `_.template`
|
|
||||||
* Ensured re-minification of Lo-Dash by third parties avoids Closure Compiler bugs
|
#### Changes ####
|
||||||
* Optimized `_.every`, `_.find`, `_.some`, and `_.uniq`
|
|
||||||
|
* Added the build commands used to custom build copyright/license headers
|
||||||
|
* Added `_.assign`
|
||||||
|
* Ensured the `underscore` build of `_.find` returns the first, not last, matched value
|
||||||
|
* Ensured `_defaults`, `_.extends`, and `_.merge` works with `_.reduce`
|
||||||
|
* Made Lo-Dash’s `npm` package installation work with more system configurations
|
||||||
|
* Made `_.extend` an alias of `_.assign`
|
||||||
|
* Optimized `_.contains`, `_.defaults`, `_.extend`, and `_.filter`
|
||||||
|
* Restricted `_.where` to iterate only own properties of the `source` object
|
||||||
|
* Updated `backbone` build Lo-Dash method dependencies
|
||||||
|
|
||||||
The full changelog is available [here](https://github.com/bestiejs/lodash/wiki/Changelog).
|
The full changelog is available [here](https://github.com/bestiejs/lodash/wiki/Changelog).
|
||||||
|
|
||||||
|
|||||||
301
build.js
301
build.js
@@ -32,6 +32,7 @@
|
|||||||
'detect': 'find',
|
'detect': 'find',
|
||||||
'drop': 'rest',
|
'drop': 'rest',
|
||||||
'each': 'forEach',
|
'each': 'forEach',
|
||||||
|
'extend': 'assign',
|
||||||
'foldl': 'reduce',
|
'foldl': 'reduce',
|
||||||
'foldr': 'reduceRight',
|
'foldr': 'reduceRight',
|
||||||
'head': 'first',
|
'head': 'first',
|
||||||
@@ -46,6 +47,7 @@
|
|||||||
|
|
||||||
/** Used to associate real names with their aliases */
|
/** Used to associate real names with their aliases */
|
||||||
var realToAliasMap = {
|
var realToAliasMap = {
|
||||||
|
'assign': ['extend'],
|
||||||
'contains': ['include'],
|
'contains': ['include'],
|
||||||
'every': ['all'],
|
'every': ['all'],
|
||||||
'filter': ['select'],
|
'filter': ['select'],
|
||||||
@@ -64,13 +66,15 @@
|
|||||||
/** Used to track function dependencies */
|
/** Used to track function dependencies */
|
||||||
var dependencyMap = {
|
var dependencyMap = {
|
||||||
'after': [],
|
'after': [],
|
||||||
|
'assign': ['isArguments'],
|
||||||
'bind': ['isFunction', 'isObject'],
|
'bind': ['isFunction', 'isObject'],
|
||||||
'bindAll': ['bind', 'functions'],
|
'bindAll': ['bind', 'functions'],
|
||||||
|
'bindKey': ['isFunction', 'isObject'],
|
||||||
'chain': ['mixin'],
|
'chain': ['mixin'],
|
||||||
'clone': ['extend', 'forEach', 'forOwn', 'isArguments', 'isObject', 'isPlainObject'],
|
'clone': ['assign', 'forEach', 'forOwn', 'isArguments', 'isObject', 'isPlainObject'],
|
||||||
'compact': [],
|
'compact': [],
|
||||||
'compose': [],
|
'compose': [],
|
||||||
'contains': ['indexOf', 'isString', 'some'],
|
'contains': ['forEach', 'indexOf', 'isString'],
|
||||||
'countBy': ['forEach'],
|
'countBy': ['forEach'],
|
||||||
'debounce': [],
|
'debounce': [],
|
||||||
'defaults': ['isArguments'],
|
'defaults': ['isArguments'],
|
||||||
@@ -79,8 +83,7 @@
|
|||||||
'difference': ['indexOf'],
|
'difference': ['indexOf'],
|
||||||
'escape': [],
|
'escape': [],
|
||||||
'every': ['forEach', 'isArray'],
|
'every': ['forEach', 'isArray'],
|
||||||
'extend': ['isArguments'],
|
'filter': ['forEach', 'isArray'],
|
||||||
'filter': ['forEach'],
|
|
||||||
'find': ['forEach'],
|
'find': ['forEach'],
|
||||||
'first': [],
|
'first': [],
|
||||||
'flatten': ['isArray'],
|
'flatten': ['isArray'],
|
||||||
@@ -116,7 +119,6 @@
|
|||||||
'keys': ['forOwn', 'isArguments', 'isObject'],
|
'keys': ['forOwn', 'isArguments', 'isObject'],
|
||||||
'last': [],
|
'last': [],
|
||||||
'lastIndexOf': [],
|
'lastIndexOf': [],
|
||||||
'lateBind': ['isFunction', 'isObject'],
|
|
||||||
'map': ['forEach', 'isArray'],
|
'map': ['forEach', 'isArray'],
|
||||||
'max': ['forEach', 'isArray', 'isString'],
|
'max': ['forEach', 'isArray', 'isString'],
|
||||||
'memoize': [],
|
'memoize': [],
|
||||||
@@ -154,7 +156,7 @@
|
|||||||
'uniqueId': [],
|
'uniqueId': [],
|
||||||
'value': ['mixin'],
|
'value': ['mixin'],
|
||||||
'values': ['forOwn'],
|
'values': ['forOwn'],
|
||||||
'where': ['filter', 'forIn'],
|
'where': ['filter', 'keys'],
|
||||||
'without': ['indexOf'],
|
'without': ['indexOf'],
|
||||||
'wrap': [],
|
'wrap': [],
|
||||||
'zip': ['max', 'pluck']
|
'zip': ['max', 'pluck']
|
||||||
@@ -180,12 +182,15 @@
|
|||||||
/** List of all Lo-Dash methods */
|
/** List of all Lo-Dash methods */
|
||||||
var allMethods = _.keys(dependencyMap);
|
var allMethods = _.keys(dependencyMap);
|
||||||
|
|
||||||
/** List Backbone's Lo-Dash dependencies */
|
/** List of Backbone's Lo-Dash dependencies */
|
||||||
var backboneDependencies = [
|
var backboneDependencies = [
|
||||||
'bind',
|
'bind',
|
||||||
'bindAll',
|
'bindAll',
|
||||||
|
'chain',
|
||||||
'clone',
|
'clone',
|
||||||
'contains',
|
'contains',
|
||||||
|
'countBy',
|
||||||
|
'defaults',
|
||||||
'escape',
|
'escape',
|
||||||
'every',
|
'every',
|
||||||
'extend',
|
'extend',
|
||||||
@@ -204,14 +209,15 @@
|
|||||||
'isFunction',
|
'isFunction',
|
||||||
'isObject',
|
'isObject',
|
||||||
'isRegExp',
|
'isRegExp',
|
||||||
|
'isString',
|
||||||
'keys',
|
'keys',
|
||||||
'last',
|
'last',
|
||||||
'lastIndexOf',
|
'lastIndexOf',
|
||||||
'lateBind',
|
|
||||||
'map',
|
'map',
|
||||||
'max',
|
'max',
|
||||||
'min',
|
'min',
|
||||||
'mixin',
|
'mixin',
|
||||||
|
'pick',
|
||||||
'reduce',
|
'reduce',
|
||||||
'reduceRight',
|
'reduceRight',
|
||||||
'reject',
|
'reject',
|
||||||
@@ -224,15 +230,16 @@
|
|||||||
'sortedIndex',
|
'sortedIndex',
|
||||||
'toArray',
|
'toArray',
|
||||||
'uniqueId',
|
'uniqueId',
|
||||||
|
'value',
|
||||||
'without'
|
'without'
|
||||||
];
|
];
|
||||||
|
|
||||||
/** List of methods used by Underscore */
|
/** List of methods used by Underscore */
|
||||||
var underscoreMethods = _.without.apply(_, [allMethods].concat([
|
var underscoreMethods = _.without.apply(_, [allMethods].concat([
|
||||||
|
'bindKey',
|
||||||
'forIn',
|
'forIn',
|
||||||
'forOwn',
|
'forOwn',
|
||||||
'isPlainObject',
|
'isPlainObject',
|
||||||
'lateBind',
|
|
||||||
'merge',
|
'merge',
|
||||||
'partial'
|
'partial'
|
||||||
]));
|
]));
|
||||||
@@ -247,6 +254,42 @@
|
|||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds the given build `commands` to the copyright/license header of `source`.
|
||||||
|
*
|
||||||
|
* @private
|
||||||
|
* @param {String} source The source to process.
|
||||||
|
* @param {Array} [commands=[]] An array of commands.
|
||||||
|
* @returns {String} Returns the modified source.
|
||||||
|
*/
|
||||||
|
function addCommandsToHeader(source, commands) {
|
||||||
|
return source.replace(/(\/\*!\n)( \*)?( *Lo-Dash [0-9.]+)(.*)/, function() {
|
||||||
|
// convert unmatched groups to empty strings
|
||||||
|
var parts = _.map(slice.call(arguments, 1), function(part) {
|
||||||
|
return part || '';
|
||||||
|
});
|
||||||
|
|
||||||
|
// remove `node path/to/build.js` from `commands`
|
||||||
|
if (commands[0] == 'node') {
|
||||||
|
commands.splice(0, 2);
|
||||||
|
}
|
||||||
|
// add quotes to commands with spaces or equals signs
|
||||||
|
commands = _.map(commands, function(command) {
|
||||||
|
var separator = (command.match(/[= ]/) || [''])[0];
|
||||||
|
if (separator) {
|
||||||
|
var pair = command.split(separator);
|
||||||
|
command = pair[0] + separator + '"' + pair[1] + '"';
|
||||||
|
}
|
||||||
|
return command;
|
||||||
|
});
|
||||||
|
// add build commands to copyright/license header
|
||||||
|
return (
|
||||||
|
parts[0] + parts[1] + parts[2] + ' (Custom Build)' + parts[3] + '\n' +
|
||||||
|
parts[1] + ' Build: `lodash ' + commands.join(' ') + '`'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compiles template files matched by the given file path `pattern` into a
|
* Compiles template files matched by the given file path `pattern` into a
|
||||||
* single source, extending `_.templates` with precompiled templates named after
|
* single source, extending `_.templates` with precompiled templates named after
|
||||||
@@ -343,7 +386,7 @@
|
|||||||
' lodash csp Build supporting default Content Security Policy restrictions',
|
' lodash csp Build supporting default Content Security Policy restrictions',
|
||||||
' lodash legacy Build tailored for older browsers without ES5 support',
|
' lodash legacy Build tailored for older browsers without ES5 support',
|
||||||
' lodash mobile Build with IE < 9 bug fixes & method compilation removed',
|
' lodash mobile Build with IE < 9 bug fixes & method compilation removed',
|
||||||
' lodash strict Build with `_.bindAll`, `_.defaults`, & `_.extend` in strict mode',
|
' lodash strict Build with `_.assign`, `_.bindAll`, & `_.defaults` in strict mode',
|
||||||
' lodash underscore Build tailored for projects already using Underscore',
|
' lodash underscore Build tailored for projects already using Underscore',
|
||||||
' lodash include=... Comma separated method/category names to include in the build',
|
' lodash include=... Comma separated method/category names to include in the build',
|
||||||
' lodash minus=... Comma separated method/category names to remove from those included in the build',
|
' lodash minus=... Comma separated method/category names to remove from those included in the build',
|
||||||
@@ -615,13 +658,10 @@
|
|||||||
var modified,
|
var modified,
|
||||||
snippet = matchFunction(source, funcName);
|
snippet = matchFunction(source, funcName);
|
||||||
|
|
||||||
// exit early if function is not found
|
|
||||||
if (!snippet) {
|
|
||||||
return source;
|
|
||||||
}
|
|
||||||
// remove function
|
// remove function
|
||||||
source = source.replace(snippet, '');
|
if (snippet) {
|
||||||
|
source = source.replace(snippet, '');
|
||||||
|
}
|
||||||
// grab the method assignments snippet
|
// grab the method assignments snippet
|
||||||
snippet = getMethodAssignments(source);
|
snippet = getMethodAssignments(source);
|
||||||
|
|
||||||
@@ -892,7 +932,7 @@
|
|||||||
// flag used to specify skipping status updates normally logged to the console
|
// flag used to specify skipping status updates normally logged to the console
|
||||||
var isSilent = isStdOut || options.indexOf('-s') > -1 || options.indexOf('--silent') > -1;
|
var isSilent = isStdOut || options.indexOf('-s') > -1 || options.indexOf('--silent') > -1;
|
||||||
|
|
||||||
// flag used to specify `_.bindAll`, `_.extend`, and `_.defaults` are
|
// flag used to specify `_.assign`, `_.bindAll`, and `_.defaults` are
|
||||||
// constructed using the "use strict" directive
|
// constructed using the "use strict" directive
|
||||||
var isStrict = options.indexOf('strict') > -1;
|
var isStrict = options.indexOf('strict') > -1;
|
||||||
|
|
||||||
@@ -933,7 +973,7 @@
|
|||||||
return match
|
return match
|
||||||
? Function('return {' + match[1].replace(/^{|}$/g, '') + '}')()
|
? Function('return {' + match[1].replace(/^{|}$/g, '') + '}')()
|
||||||
: result;
|
: result;
|
||||||
}, _.extend(_.clone(_.templateSettings), {
|
}, _.assign(_.clone(_.templateSettings), {
|
||||||
'moduleId': moduleId
|
'moduleId': moduleId
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@@ -947,7 +987,8 @@
|
|||||||
var useUnderscoreClone = isUnderscore;
|
var useUnderscoreClone = isUnderscore;
|
||||||
|
|
||||||
// flags used to specify exposing Lo-Dash methods in an Underscore build
|
// flags used to specify exposing Lo-Dash methods in an Underscore build
|
||||||
var exposeForIn = !isUnderscore,
|
var exposeAssign = !isUnderscore,
|
||||||
|
exposeForIn = !isUnderscore,
|
||||||
exposeForOwn = !isUnderscore,
|
exposeForOwn = !isUnderscore,
|
||||||
exposeIsPlainObject = !isUnderscore;
|
exposeIsPlainObject = !isUnderscore;
|
||||||
|
|
||||||
@@ -969,12 +1010,26 @@
|
|||||||
: accumulator;
|
: accumulator;
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
// add method names explicitly
|
||||||
|
options.some(function(value) {
|
||||||
|
return /include/.test(value) &&
|
||||||
|
(result = getDependencies(optionToMethodsArray(source, value)));
|
||||||
|
});
|
||||||
|
|
||||||
|
// include Lo-Dash's methods if explicitly requested
|
||||||
|
if (isUnderscore && result) {
|
||||||
|
exposeAssign = result.indexOf('assign') > -1;
|
||||||
|
exposeForIn = result.indexOf('forIn') > -1;
|
||||||
|
exposeForOwn = result.indexOf('forOwn') > -1;
|
||||||
|
exposeIsPlainObject = result.indexOf('isPlainObject') > -1;
|
||||||
|
useUnderscoreClone = result.indexOf('clone') < 0;
|
||||||
|
}
|
||||||
// update dependencies
|
// update dependencies
|
||||||
if (isMobile) {
|
if (isMobile) {
|
||||||
dependencyMap.reduceRight = ['forEach', 'keys'];
|
dependencyMap.reduceRight = ['forEach', 'keys'];
|
||||||
}
|
}
|
||||||
if (isUnderscore) {
|
if (isUnderscore) {
|
||||||
dependencyMap.contains = ['indexOf', 'some'],
|
dependencyMap.contains = ['forEach', 'indexOf'];
|
||||||
dependencyMap.isEqual = ['isArray', 'isFunction'];
|
dependencyMap.isEqual = ['isArray', 'isFunction'];
|
||||||
dependencyMap.isEmpty = ['isArray', 'isString'];
|
dependencyMap.isEmpty = ['isArray', 'isString'];
|
||||||
dependencyMap.max = ['forEach', 'isArray'];
|
dependencyMap.max = ['forEach', 'isArray'];
|
||||||
@@ -983,22 +1038,9 @@
|
|||||||
dependencyMap.template = ['defaults', 'escape'];
|
dependencyMap.template = ['defaults', 'escape'];
|
||||||
|
|
||||||
if (useUnderscoreClone) {
|
if (useUnderscoreClone) {
|
||||||
dependencyMap.clone = ['extend', 'isArray'];
|
dependencyMap.clone = ['assign', 'isArray'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// add method names explicitly
|
|
||||||
options.some(function(value) {
|
|
||||||
return /include/.test(value) &&
|
|
||||||
(result = getDependencies(optionToMethodsArray(source, value)));
|
|
||||||
});
|
|
||||||
|
|
||||||
// include Lo-Dash's methods if explicitly requested
|
|
||||||
if (result) {
|
|
||||||
exposeForIn = result.indexOf('forIn') > -1;
|
|
||||||
exposeForOwn = result.indexOf('forOwn') > -1;
|
|
||||||
exposeIsPlainObject = result.indexOf('isPlainObject') > -1;
|
|
||||||
useUnderscoreClone = result.indexOf('clone') < 0;
|
|
||||||
}
|
|
||||||
// add method names required by Backbone and Underscore builds
|
// add method names required by Backbone and Underscore builds
|
||||||
if (isBackbone && !result) {
|
if (isBackbone && !result) {
|
||||||
result = getDependencies(backboneDependencies);
|
result = getDependencies(backboneDependencies);
|
||||||
@@ -1066,7 +1108,7 @@
|
|||||||
source = source.replace(/^( *)function clone[\s\S]+?\n\1}/m, [
|
source = source.replace(/^( *)function clone[\s\S]+?\n\1}/m, [
|
||||||
' function clone(value) {',
|
' function clone(value) {',
|
||||||
' return value && objectTypes[typeof value]',
|
' return value && objectTypes[typeof value]',
|
||||||
' ? (isArray(value) ? slice.call(value) : extend({}, value))',
|
' ? (isArray(value) ? slice.call(value) : assign({}, value))',
|
||||||
' : value',
|
' : value',
|
||||||
' }'
|
' }'
|
||||||
].join('\n'));
|
].join('\n'));
|
||||||
@@ -1075,10 +1117,16 @@
|
|||||||
// replace `_.contains`
|
// replace `_.contains`
|
||||||
source = source.replace(/^( *)function contains[\s\S]+?\n\1}/m, [
|
source = source.replace(/^( *)function contains[\s\S]+?\n\1}/m, [
|
||||||
' function contains(collection, target) {',
|
' function contains(collection, target) {',
|
||||||
' var length = collection ? collection.length : 0;',
|
' var length = collection ? collection.length : 0,',
|
||||||
" return typeof length == 'number'",
|
' result = false;',
|
||||||
' ? indexOf(collection, target) > -1',
|
" if (typeof length == 'number') {",
|
||||||
' : some(collection, function(value) { return value === target; });',
|
' result = indexOf(collection, target) > -1;',
|
||||||
|
' } else {',
|
||||||
|
' forEach(collection, function(value) {',
|
||||||
|
' return (result = value === target) && indicatorObject;',
|
||||||
|
' });',
|
||||||
|
' }',
|
||||||
|
' return result;',
|
||||||
' }'
|
' }'
|
||||||
].join('\n'));
|
].join('\n'));
|
||||||
|
|
||||||
@@ -1100,6 +1148,44 @@
|
|||||||
' }'
|
' }'
|
||||||
].join('\n'));
|
].join('\n'));
|
||||||
|
|
||||||
|
// replace `_.assign`
|
||||||
|
source = source.replace(/^( *)var assign *= *createIterator[\s\S]+?\);/m, [
|
||||||
|
' function assign(object) {',
|
||||||
|
' if (!object) {',
|
||||||
|
' return object;',
|
||||||
|
' }',
|
||||||
|
' for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {',
|
||||||
|
' var iteratee = arguments[argsIndex];',
|
||||||
|
' if (iteratee) {',
|
||||||
|
' for (var key in iteratee) {',
|
||||||
|
' object[key] = iteratee[key];',
|
||||||
|
' }',
|
||||||
|
' }',
|
||||||
|
' }',
|
||||||
|
' return object;',
|
||||||
|
' }'
|
||||||
|
].join('\n'));
|
||||||
|
|
||||||
|
// replace `_.defaults`
|
||||||
|
source = source.replace(/^( *)var defaults *= *createIterator[\s\S]+?\);/m, [
|
||||||
|
' function defaults(object) {',
|
||||||
|
' if (!object) {',
|
||||||
|
' return object;',
|
||||||
|
' }',
|
||||||
|
' for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {',
|
||||||
|
' var iteratee = arguments[argsIndex];',
|
||||||
|
' if (iteratee) {',
|
||||||
|
' for (var key in iteratee) {',
|
||||||
|
' if (object[key] == null) {',
|
||||||
|
' object[key] = iteratee[key];',
|
||||||
|
' }',
|
||||||
|
' }',
|
||||||
|
' }',
|
||||||
|
' }',
|
||||||
|
' return object;',
|
||||||
|
' }'
|
||||||
|
].join('\n'));
|
||||||
|
|
||||||
// replace `_.intersection`
|
// replace `_.intersection`
|
||||||
source = source.replace(/^( *)function intersection[\s\S]+?\n\1}/m, [
|
source = source.replace(/^( *)function intersection[\s\S]+?\n\1}/m, [
|
||||||
' function intersection(array) {',
|
' function intersection(array) {',
|
||||||
@@ -1180,6 +1266,59 @@
|
|||||||
' }'
|
' }'
|
||||||
].join('\n'));
|
].join('\n'));
|
||||||
|
|
||||||
|
// replace `_.template`
|
||||||
|
source = source.replace(/^( *)function template[\s\S]+?\n\1}/m, function() {
|
||||||
|
return [
|
||||||
|
' function template(text, data, options) {',
|
||||||
|
" text || (text = '');",
|
||||||
|
' options = defaults({}, options, lodash.templateSettings);',
|
||||||
|
'',
|
||||||
|
' var index = 0,',
|
||||||
|
' source = "__p += \'",',
|
||||||
|
' variable = options.variable;',
|
||||||
|
'',
|
||||||
|
' var reDelimiters = RegExp(',
|
||||||
|
" (options.escape || reNoMatch).source + '|' +",
|
||||||
|
" (options.interpolate || reNoMatch).source + '|' +",
|
||||||
|
" (options.evaluate || reNoMatch).source + '|$'",
|
||||||
|
" , 'g');",
|
||||||
|
'',
|
||||||
|
' text.replace(reDelimiters, function(match, escapeValue, interpolateValue, evaluateValue, offset) {',
|
||||||
|
' source += text.slice(index, offset).replace(reUnescapedString, escapeStringChar);',
|
||||||
|
' source +=',
|
||||||
|
' escapeValue ? "\' +\\n_.escape(" + escapeValue + ") +\\n\'" :',
|
||||||
|
' evaluateValue ? "\';\\n" + evaluateValue + ";\\n__p += \'" :',
|
||||||
|
' interpolateValue ? "\' +\\n((__t = (" + interpolateValue + ")) == null ? \'\' : __t) +\\n\'" : \'\';',
|
||||||
|
'',
|
||||||
|
' index = offset + match.length;',
|
||||||
|
' });',
|
||||||
|
'',
|
||||||
|
' source += "\';\\n";',
|
||||||
|
' if (!variable) {',
|
||||||
|
" variable = 'obj';",
|
||||||
|
" source = 'with (' + variable + ' || {}) {\\n' + source + '\\n}\\n';",
|
||||||
|
' }',
|
||||||
|
" source = 'function(' + variable + ') {\\n' +",
|
||||||
|
" 'var __t, __p = \\'\\', __j = Array.prototype.join;\\n' +",
|
||||||
|
" 'function print() { __p += __j.call(arguments, \\'\\') }\\n' +",
|
||||||
|
' source +',
|
||||||
|
" 'return __p\\n}';",
|
||||||
|
'',
|
||||||
|
' try {',
|
||||||
|
" var result = Function('_', 'return ' + source)(lodash);",
|
||||||
|
' } catch(e) {',
|
||||||
|
' e.source = source;',
|
||||||
|
' throw e;',
|
||||||
|
' }',
|
||||||
|
' if (data) {',
|
||||||
|
' return result(data);',
|
||||||
|
' }',
|
||||||
|
' result.source = source;',
|
||||||
|
' return result;',
|
||||||
|
' }'
|
||||||
|
].join('\n');
|
||||||
|
});
|
||||||
|
|
||||||
// replace `_.uniq`
|
// replace `_.uniq`
|
||||||
source = source.replace(/^( *)function uniq[\s\S]+?\n\1}/m, [
|
source = source.replace(/^( *)function uniq[\s\S]+?\n\1}/m, [
|
||||||
' function uniq(array, isSorted, callback, thisArg) {',
|
' function uniq(array, isSorted, callback, thisArg) {',
|
||||||
@@ -1227,6 +1366,13 @@
|
|||||||
' }'
|
' }'
|
||||||
].join('\n'));
|
].join('\n'));
|
||||||
|
|
||||||
|
// remove unneeded template related variables
|
||||||
|
source = removeVar(source, 'reComplexDelimiter');
|
||||||
|
source = removeVar(source, 'reEmptyStringLeading');
|
||||||
|
source = removeVar(source, 'reEmptyStringMiddle');
|
||||||
|
source = removeVar(source, 'reEmptyStringTrailing');
|
||||||
|
source = removeVar(source, 'reInsertVariable');
|
||||||
|
|
||||||
// remove `arguments` object check from `_.isEqual`
|
// remove `arguments` object check from `_.isEqual`
|
||||||
source = source.replace(/ *\|\| *className *== *argsClass/, '');
|
source = source.replace(/ *\|\| *className *== *argsClass/, '');
|
||||||
|
|
||||||
@@ -1350,11 +1496,14 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (isUnderscore) {
|
if (isUnderscore) {
|
||||||
// remove `_.forIn`, `_.forOwn`, and `_.isPlainObject` assignments
|
// remove `_.assign`, `_.forIn`, `_.forOwn`, and `_.isPlainObject` assignments
|
||||||
(function() {
|
(function() {
|
||||||
var snippet = getMethodAssignments(source),
|
var snippet = getMethodAssignments(source),
|
||||||
modified = snippet;
|
modified = snippet;
|
||||||
|
|
||||||
|
if (!exposeAssign) {
|
||||||
|
modified = modified.replace(/(?:\n *\/\/.*\s*)* *lodash\.assign *= *.+\n/, '');
|
||||||
|
}
|
||||||
if (!exposeForIn) {
|
if (!exposeForIn) {
|
||||||
modified = modified.replace(/(?:\n *\/\/.*\s*)* *lodash\.forIn *= *.+\n/, '');
|
modified = modified.replace(/(?:\n *\/\/.*\s*)* *lodash\.forIn *= *.+\n/, '');
|
||||||
}
|
}
|
||||||
@@ -1393,74 +1542,18 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// modify `_.every` and `_.some` to use the private `indicatorObject`
|
// modify `_.every`, `_.find`, and `_.some` to use the private `indicatorObject`
|
||||||
source = source.replace(matchFunction(source, 'every'), function(match) {
|
source = source.replace(matchFunction(source, 'every'), function(match) {
|
||||||
return match.replace(/\(result *= *(.+?)\);/, '!(result = $1) && indicatorObject;');
|
return match.replace(/\(result *= *(.+?)\);/, '!(result = $1) && indicatorObject;');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
source = source.replace(matchFunction(source, 'find'), function(match) {
|
||||||
|
return match.replace(/return false/, 'return indicatorObject');
|
||||||
|
});
|
||||||
|
|
||||||
source = source.replace(matchFunction(source, 'some'), function(match) {
|
source = source.replace(matchFunction(source, 'some'), function(match) {
|
||||||
return match.replace(/!\(result *= *(.+?)\);/, '(result = $1) && indicatorObject;');
|
return match.replace(/!\(result *= *(.+?)\);/, '(result = $1) && indicatorObject;');
|
||||||
});
|
});
|
||||||
|
|
||||||
// replace `_.template`
|
|
||||||
source = source.replace(/^( *)function template[\s\S]+?\n\1}/m, function() {
|
|
||||||
return [
|
|
||||||
' function template(text, data, options) {',
|
|
||||||
" text || (text = '');",
|
|
||||||
' options = defaults({}, options, lodash.templateSettings);',
|
|
||||||
'',
|
|
||||||
' var index = 0,',
|
|
||||||
' source = "__p += \'",',
|
|
||||||
' variable = options.variable;',
|
|
||||||
'',
|
|
||||||
' var reDelimiters = RegExp(',
|
|
||||||
" (options.escape || reNoMatch).source + '|' +",
|
|
||||||
" (options.interpolate || reNoMatch).source + '|' +",
|
|
||||||
" (options.evaluate || reNoMatch).source + '|$'",
|
|
||||||
" , 'g');",
|
|
||||||
'',
|
|
||||||
' text.replace(reDelimiters, function(match, escapeValue, interpolateValue, evaluateValue, offset) {',
|
|
||||||
' source += text.slice(index, offset).replace(reUnescapedString, escapeStringChar);',
|
|
||||||
' source +=',
|
|
||||||
' escapeValue ? "\' +\\n_.escape(" + escapeValue + ") +\\n\'" :',
|
|
||||||
' evaluateValue ? "\';\\n" + evaluateValue + ";\\n__p += \'" :',
|
|
||||||
' interpolateValue ? "\' +\\n((__t = (" + interpolateValue + ")) == null ? \'\' : __t) +\\n\'" : \'\';',
|
|
||||||
'',
|
|
||||||
' index = offset + match.length;',
|
|
||||||
' });',
|
|
||||||
'',
|
|
||||||
' source += "\';\\n";',
|
|
||||||
' if (!variable) {',
|
|
||||||
" variable = 'obj';",
|
|
||||||
" source = 'with (' + variable + ' || {}) {\\n' + source + '\\n}\\n';",
|
|
||||||
' }',
|
|
||||||
" source = 'function(' + variable + ') {\\n' +",
|
|
||||||
" 'var __t, __p = \\'\\', __j = Array.prototype.join;\\n' +",
|
|
||||||
" 'function print() { __p += __j.call(arguments, \\'\\') }\\n' +",
|
|
||||||
' source +',
|
|
||||||
" 'return __p\\n}';",
|
|
||||||
'',
|
|
||||||
' try {',
|
|
||||||
" var result = Function('_', 'return ' + source)(lodash);",
|
|
||||||
' } catch(e) {',
|
|
||||||
' e.source = source;',
|
|
||||||
' throw e;',
|
|
||||||
' }',
|
|
||||||
' if (data) {',
|
|
||||||
' return result(data);',
|
|
||||||
' }',
|
|
||||||
' result.source = source;',
|
|
||||||
' return result;',
|
|
||||||
' }'
|
|
||||||
].join('\n');
|
|
||||||
});
|
|
||||||
|
|
||||||
// remove unneeded template related variables
|
|
||||||
source = removeVar(source, 'reComplexDelimiter');
|
|
||||||
source = removeVar(source, 'reEmptyStringLeading');
|
|
||||||
source = removeVar(source, 'reEmptyStringMiddle');
|
|
||||||
source = removeVar(source, 'reEmptyStringTrailing');
|
|
||||||
source = removeVar(source, 'reInsertVariable');
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
source = removeIsArgumentsFallback(source);
|
source = removeIsArgumentsFallback(source);
|
||||||
@@ -1690,6 +1783,9 @@
|
|||||||
|
|
||||||
// output debug build
|
// output debug build
|
||||||
if (!isMinify && (isCustom || isDebug || isTemplate)) {
|
if (!isMinify && (isCustom || isDebug || isTemplate)) {
|
||||||
|
if (isCustom) {
|
||||||
|
debugSource = addCommandsToHeader(debugSource, options);
|
||||||
|
}
|
||||||
if (isDebug && isStdOut) {
|
if (isDebug && isStdOut) {
|
||||||
stdout.write(debugSource);
|
stdout.write(debugSource);
|
||||||
callback(debugSource);
|
callback(debugSource);
|
||||||
@@ -1710,6 +1806,9 @@
|
|||||||
if (isStrict) {
|
if (isStrict) {
|
||||||
source = source.replace(/^([\s\S]*?function[^{]+{)([^'"])/, '$1"use strict";$2');
|
source = source.replace(/^([\s\S]*?function[^{]+{)([^'"])/, '$1"use strict";$2');
|
||||||
}
|
}
|
||||||
|
if (isCustom) {
|
||||||
|
source = addCommandsToHeader(source, options);
|
||||||
|
}
|
||||||
if (isStdOut) {
|
if (isStdOut) {
|
||||||
stdout.write(source);
|
stdout.write(source);
|
||||||
callback(source);
|
callback(source);
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
if (!snippet) {
|
if (!snippet) {
|
||||||
return source;
|
return source;
|
||||||
}
|
}
|
||||||
// add license
|
// add copyright/license header
|
||||||
return licenseTemplate[/call\(this\);?$/.test(source) ? 'underscore' : 'lodash']
|
return licenseTemplate[/call\(this\);?$/.test(source) ? 'underscore' : 'lodash']
|
||||||
.replace('@VERSION', snippet[2]) + '\n;' + source;
|
.replace('@VERSION', snippet[2]) + '\n;' + source;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
;(function () {
|
;(function() {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
/** Load Node modules */
|
/** Load Node modules */
|
||||||
@@ -17,10 +17,27 @@
|
|||||||
var vendorPath = path.join(basePath, 'vendor');
|
var vendorPath = path.join(basePath, 'vendor');
|
||||||
|
|
||||||
/** The Git object ID of `closure-compiler.tar.gz` */
|
/** The Git object ID of `closure-compiler.tar.gz` */
|
||||||
var closureId = 'aa29a2ecf6f51d4da5a2a418c0d4ea0e368ee80d';
|
var closureId = 'a2787b470c577cee2404d186c562dd9835f779f5';
|
||||||
|
|
||||||
/** The Git object ID of `uglifyjs.tar.gz` */
|
/** The Git object ID of `uglifyjs.tar.gz` */
|
||||||
var uglifyId = '9869c4443fb22598235d1019fcc8245be41e8889';
|
var uglifyId = '3390b259e04829538e4d3635d12b317dd6103eca';
|
||||||
|
|
||||||
|
/** The media type for raw blob data */
|
||||||
|
var mediaType = 'application/vnd.github.v3.raw';
|
||||||
|
|
||||||
|
/** Used to reference parts of the blob href */
|
||||||
|
var location = (function() {
|
||||||
|
var host = 'api.github.com',
|
||||||
|
origin = 'https://api.github.com',
|
||||||
|
pathname = '/repos/bestiejs/lodash/git/blobs';
|
||||||
|
|
||||||
|
return {
|
||||||
|
'host': host,
|
||||||
|
'href': host + origin + pathname,
|
||||||
|
'origin': origin,
|
||||||
|
'pathname': pathname
|
||||||
|
};
|
||||||
|
}());
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
@@ -31,7 +48,6 @@
|
|||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
* @param {Object} options The options object.
|
* @param {Object} options The options object.
|
||||||
*
|
|
||||||
* id - The Git object ID of the `.tar.gz` file.
|
* id - The Git object ID of the `.tar.gz` file.
|
||||||
* onComplete - The function, invoked with one argument (exception),
|
* onComplete - The function, invoked with one argument (exception),
|
||||||
* called once the extraction has finished.
|
* called once the extraction has finished.
|
||||||
@@ -41,12 +57,18 @@
|
|||||||
function getDependency(options) {
|
function getDependency(options) {
|
||||||
options || (options = {});
|
options || (options = {});
|
||||||
|
|
||||||
var onComplete = options.onComplete,
|
var id = options.id,
|
||||||
|
onComplete = options.onComplete,
|
||||||
|
path = options.path,
|
||||||
title = options.title;
|
title = options.title;
|
||||||
|
|
||||||
function callback(exception) {
|
function callback(exception) {
|
||||||
if (exception) {
|
if (exception) {
|
||||||
console.error('There was a problem downloading ' + title + '.');
|
console.error([
|
||||||
|
'There was a problem installing ' + title + '. To manually install, run:',
|
||||||
|
'',
|
||||||
|
"curl -H 'Accept: " + mediaType + "' " + location.href + '/' + id + " | tar xvz -C '" + path + "'"
|
||||||
|
].join('\n'));
|
||||||
}
|
}
|
||||||
onComplete(exception);
|
onComplete(exception);
|
||||||
}
|
}
|
||||||
@@ -54,22 +76,22 @@
|
|||||||
console.log('Downloading ' + title + '...');
|
console.log('Downloading ' + title + '...');
|
||||||
|
|
||||||
https.get({
|
https.get({
|
||||||
'host': 'api.github.com',
|
'host': location.host,
|
||||||
'path': '/repos/bestiejs/lodash/git/blobs/' + options.id,
|
'path': location.pathname + '/' + id,
|
||||||
'headers': {
|
'headers': {
|
||||||
// By default, all GitHub blob API endpoints return a JSON document
|
// By default, all GitHub blob API endpoints return a JSON document
|
||||||
// containing Base64-encoded blob data. Overriding the `Accept` header
|
// containing Base64-encoded blob data. Overriding the `Accept` header
|
||||||
// with the GitHub raw media type returns the blob data directly.
|
// with the GitHub raw media type returns the blob data directly.
|
||||||
'Accept': 'application/vnd.github.v3.raw'
|
// See http://developer.github.com/v3/media/.
|
||||||
|
'Accept': mediaType
|
||||||
}
|
}
|
||||||
}, function(response) {
|
}, function(response) {
|
||||||
var parser = new tar.Extract({
|
var decompressor = zlib.createUnzip(),
|
||||||
'path': options.path
|
parser = new tar.Extract({ 'path': path });
|
||||||
})
|
|
||||||
.on('end', callback)
|
|
||||||
.on('error', callback);
|
|
||||||
|
|
||||||
response.pipe(zlib.createUnzip()).pipe(parser);
|
decompressor.on('error', callback)
|
||||||
|
parser.on('end', callback).on('error', callback);
|
||||||
|
response.pipe(decompressor).pipe(parser);
|
||||||
})
|
})
|
||||||
.on('error', callback);
|
.on('error', callback);
|
||||||
}
|
}
|
||||||
@@ -78,11 +100,21 @@
|
|||||||
|
|
||||||
exec('npm -g root', function(exception, stdout) {
|
exec('npm -g root', function(exception, stdout) {
|
||||||
if (exception) {
|
if (exception) {
|
||||||
console.error('There was a problem loading the npm registry.');
|
console.error([
|
||||||
process.exit(1);
|
'There was a problem loading the npm registry. If you’re installing the Lo-Dash',
|
||||||
|
'command-line executable (via `npm install -g lodash`), you’ll need to manually',
|
||||||
|
'install UglifyJS and the Closure Compiler by running:',
|
||||||
|
'',
|
||||||
|
"curl -H 'Accept: " + mediaType + "' " + location.href + '/' + closureId + " | tar xvz -C '" + vendorPath + "'",
|
||||||
|
"curl -H 'Accept: " + mediaType + "' " + location.href + '/' + uglifyId + " | tar xvz -C '" + vendorPath + "'",
|
||||||
|
'',
|
||||||
|
'Please submit an issue on the GitHub issue tracker: ' + process.env.npm_package_bugs_url + '.'
|
||||||
|
].join('\n'));
|
||||||
|
console.error(exception);
|
||||||
|
process.exit();
|
||||||
}
|
}
|
||||||
// exit early if not a global install
|
// exit early if not a global install
|
||||||
if (path.resolve(basePath, '..') != stdout.trim()) {
|
if (path.resolve(basePath, '..') != fs.realpathSync(stdout.trim())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// download the Closure Compiler
|
// download the Closure Compiler
|
||||||
@@ -90,14 +122,14 @@
|
|||||||
'title': 'the Closure Compiler',
|
'title': 'the Closure Compiler',
|
||||||
'id': closureId,
|
'id': closureId,
|
||||||
'path': vendorPath,
|
'path': vendorPath,
|
||||||
'onComplete':function(exceptionA) {
|
'onComplete': function() {
|
||||||
// download UglifyJS
|
// download UglifyJS
|
||||||
getDependency({
|
getDependency({
|
||||||
'title': 'UglifyJS',
|
'title': 'UglifyJS',
|
||||||
'id': uglifyId,
|
'id': uglifyId,
|
||||||
'path': vendorPath,
|
'path': vendorPath,
|
||||||
'onComplete': function(exceptionB) {
|
'onComplete': function() {
|
||||||
process.exit(exceptionA || exceptionB ? 1 : 0);
|
process.exit();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
'collection',
|
'collection',
|
||||||
'createCallback',
|
'createCallback',
|
||||||
'ctor',
|
'ctor',
|
||||||
|
'guard',
|
||||||
'hasOwnProperty',
|
'hasOwnProperty',
|
||||||
'index',
|
'index',
|
||||||
'isArguments',
|
'isArguments',
|
||||||
@@ -27,6 +28,7 @@
|
|||||||
'propertyIsEnumerable',
|
'propertyIsEnumerable',
|
||||||
'result',
|
'result',
|
||||||
'skipProto',
|
'skipProto',
|
||||||
|
'source',
|
||||||
'thisArg',
|
'thisArg',
|
||||||
'value'
|
'value'
|
||||||
];
|
];
|
||||||
@@ -63,9 +65,11 @@
|
|||||||
'all',
|
'all',
|
||||||
'amd',
|
'amd',
|
||||||
'any',
|
'any',
|
||||||
|
'assign',
|
||||||
'attachEvent',
|
'attachEvent',
|
||||||
'bind',
|
'bind',
|
||||||
'bindAll',
|
'bindAll',
|
||||||
|
'bindKey',
|
||||||
'chain',
|
'chain',
|
||||||
'clone',
|
'clone',
|
||||||
'collect',
|
'collect',
|
||||||
@@ -134,7 +138,6 @@
|
|||||||
'keys',
|
'keys',
|
||||||
'last',
|
'last',
|
||||||
'lastIndexOf',
|
'lastIndexOf',
|
||||||
'lateBind',
|
|
||||||
'map',
|
'map',
|
||||||
'max',
|
'max',
|
||||||
'memoize',
|
'memoize',
|
||||||
@@ -212,7 +215,7 @@
|
|||||||
return source;
|
return source;
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove copyright to add later in post-compile.js
|
// remove copyright/license header to add later in post-compile.js
|
||||||
source = source.replace(/\/\*![\s\S]+?\*\//, '');
|
source = source.replace(/\/\*![\s\S]+?\*\//, '');
|
||||||
|
|
||||||
// add brackets to whitelisted properties so the Closure Compiler won't mung them
|
// add brackets to whitelisted properties so the Closure Compiler won't mung them
|
||||||
|
|||||||
338
doc/README.md
338
doc/README.md
@@ -1,4 +1,4 @@
|
|||||||
# Lo-Dash <sup>v0.9.2</sup>
|
# Lo-Dash <sup>v0.10.0</sup>
|
||||||
|
|
||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
@@ -88,11 +88,11 @@
|
|||||||
* [`_.after`](#_aftern-func)
|
* [`_.after`](#_aftern-func)
|
||||||
* [`_.bind`](#_bindfunc--thisarg-arg1-arg2-)
|
* [`_.bind`](#_bindfunc--thisarg-arg1-arg2-)
|
||||||
* [`_.bindAll`](#_bindallobject--methodname1-methodname2-)
|
* [`_.bindAll`](#_bindallobject--methodname1-methodname2-)
|
||||||
|
* [`_.bindKey`](#_bindkeyobject-key--arg1-arg2-)
|
||||||
* [`_.compose`](#_composefunc1-func2-)
|
* [`_.compose`](#_composefunc1-func2-)
|
||||||
* [`_.debounce`](#_debouncefunc-wait-immediate)
|
* [`_.debounce`](#_debouncefunc-wait-immediate)
|
||||||
* [`_.defer`](#_deferfunc--arg1-arg2-)
|
* [`_.defer`](#_deferfunc--arg1-arg2-)
|
||||||
* [`_.delay`](#_delayfunc-wait--arg1-arg2-)
|
* [`_.delay`](#_delayfunc-wait--arg1-arg2-)
|
||||||
* [`_.lateBind`](#_latebindobject-methodname--arg1-arg2-)
|
|
||||||
* [`_.memoize`](#_memoizefunc--resolver)
|
* [`_.memoize`](#_memoizefunc--resolver)
|
||||||
* [`_.once`](#_oncefunc)
|
* [`_.once`](#_oncefunc)
|
||||||
* [`_.partial`](#_partialfunc--arg1-arg2-)
|
* [`_.partial`](#_partialfunc--arg1-arg2-)
|
||||||
@@ -105,9 +105,10 @@
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
## `Objects`
|
## `Objects`
|
||||||
|
* [`_.assign`](#_assignobject--source1-source2-)
|
||||||
* [`_.clone`](#_clonevalue-deep)
|
* [`_.clone`](#_clonevalue-deep)
|
||||||
* [`_.defaults`](#_defaultsobject--default1-default2-)
|
* [`_.defaults`](#_defaultsobject--default1-default2-)
|
||||||
* [`_.extend`](#_extendobject--source1-source2-)
|
* [`_.extend`](#_assignobject--source1-source2-)
|
||||||
* [`_.forIn`](#_forinobject-callback--thisarg)
|
* [`_.forIn`](#_forinobject-callback--thisarg)
|
||||||
* [`_.forOwn`](#_forownobject-callback--thisarg)
|
* [`_.forOwn`](#_forownobject-callback--thisarg)
|
||||||
* [`_.functions`](#_functionsobject)
|
* [`_.functions`](#_functionsobject)
|
||||||
@@ -184,7 +185,7 @@
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_compactarray"></a>`_.compact(array)`
|
### <a id="_compactarray"></a>`_.compact(array)`
|
||||||
<a href="#_compactarray">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2554 "View in source") [Ⓣ][1]
|
<a href="#_compactarray">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2576 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an array with all falsey values of `array` removed. The values `false`, `null`, `0`, `""`, `undefined` and `NaN` are all falsey.
|
Creates an array with all falsey values of `array` removed. The values `false`, `null`, `0`, `""`, `undefined` and `NaN` are all falsey.
|
||||||
|
|
||||||
@@ -208,7 +209,7 @@ _.compact([0, 1, false, 2, '', 3]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_differencearray--array1-array2-"></a>`_.difference(array [, array1, array2, ...])`
|
### <a id="_differencearray--array1-array2-"></a>`_.difference(array [, array1, array2, ...])`
|
||||||
<a href="#_differencearray--array1-array2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2584 "View in source") [Ⓣ][1]
|
<a href="#_differencearray--array1-array2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2606 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an array of `array` elements not present in the other arrays using strict equality for comparisons, i.e. `===`.
|
Creates an array of `array` elements not present in the other arrays using strict equality for comparisons, i.e. `===`.
|
||||||
|
|
||||||
@@ -233,7 +234,7 @@ _.difference([1, 2, 3, 4, 5], [5, 2, 10]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_firstarray--n"></a>`_.first(array [, n])`
|
### <a id="_firstarray--n"></a>`_.first(array [, n])`
|
||||||
<a href="#_firstarray--n">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2619 "View in source") [Ⓣ][1]
|
<a href="#_firstarray--n">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2641 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Gets the first element of the `array`. Pass `n` to return the first `n` elements of the `array`.
|
Gets the first element of the `array`. Pass `n` to return the first `n` elements of the `array`.
|
||||||
|
|
||||||
@@ -261,7 +262,7 @@ _.first([5, 4, 3, 2, 1]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_flattenarray-shallow"></a>`_.flatten(array, shallow)`
|
### <a id="_flattenarray-shallow"></a>`_.flatten(array, shallow)`
|
||||||
<a href="#_flattenarray-shallow">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2643 "View in source") [Ⓣ][1]
|
<a href="#_flattenarray-shallow">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2665 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Flattens a nested array *(the nesting can be to any depth)*. If `shallow` is truthy, `array` will only be flattened a single level.
|
Flattens a nested array *(the nesting can be to any depth)*. If `shallow` is truthy, `array` will only be flattened a single level.
|
||||||
|
|
||||||
@@ -289,7 +290,7 @@ _.flatten([1, [2], [3, [[4]]]], true);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_indexofarray-value--fromindex0"></a>`_.indexOf(array, value [, fromIndex=0])`
|
### <a id="_indexofarray-value--fromindex0"></a>`_.indexOf(array, value [, fromIndex=0])`
|
||||||
<a href="#_indexofarray-value--fromindex0">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2685 "View in source") [Ⓣ][1]
|
<a href="#_indexofarray-value--fromindex0">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2707 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Gets the index at which the first occurrence of `value` is found using strict equality for comparisons, i.e. `===`. If the `array` is already sorted, passing `true` for `fromIndex` will run a faster binary search.
|
Gets the index at which the first occurrence of `value` is found using strict equality for comparisons, i.e. `===`. If the `array` is already sorted, passing `true` for `fromIndex` will run a faster binary search.
|
||||||
|
|
||||||
@@ -321,7 +322,7 @@ _.indexOf([1, 1, 2, 2, 3, 3], 2, true);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_initialarray--n1"></a>`_.initial(array [, n=1])`
|
### <a id="_initialarray--n1"></a>`_.initial(array [, n=1])`
|
||||||
<a href="#_initialarray--n1">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2720 "View in source") [Ⓣ][1]
|
<a href="#_initialarray--n1">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2742 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Gets all but the last element of `array`. Pass `n` to exclude the last `n` elements from the result.
|
Gets all but the last element of `array`. Pass `n` to exclude the last `n` elements from the result.
|
||||||
|
|
||||||
@@ -346,7 +347,7 @@ _.initial([3, 2, 1]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_intersectionarray1-array2-"></a>`_.intersection([array1, array2, ...])`
|
### <a id="_intersectionarray1-array2-"></a>`_.intersection([array1, array2, ...])`
|
||||||
<a href="#_intersectionarray1-array2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2741 "View in source") [Ⓣ][1]
|
<a href="#_intersectionarray1-array2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2763 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Computes the intersection of all the passed-in arrays using strict equality for comparisons, i.e. `===`.
|
Computes the intersection of all the passed-in arrays using strict equality for comparisons, i.e. `===`.
|
||||||
|
|
||||||
@@ -370,7 +371,7 @@ _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_lastarray--n"></a>`_.last(array [, n])`
|
### <a id="_lastarray--n"></a>`_.last(array [, n])`
|
||||||
<a href="#_lastarray--n">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2779 "View in source") [Ⓣ][1]
|
<a href="#_lastarray--n">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2801 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Gets the last element of the `array`. Pass `n` to return the last `n` elements of the `array`.
|
Gets the last element of the `array`. Pass `n` to return the last `n` elements of the `array`.
|
||||||
|
|
||||||
@@ -395,7 +396,7 @@ _.last([3, 2, 1]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_lastindexofarray-value--fromindexarraylength-1"></a>`_.lastIndexOf(array, value [, fromIndex=array.length-1])`
|
### <a id="_lastindexofarray-value--fromindexarraylength-1"></a>`_.lastIndexOf(array, value [, fromIndex=array.length-1])`
|
||||||
<a href="#_lastindexofarray-value--fromindexarraylength-1">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2806 "View in source") [Ⓣ][1]
|
<a href="#_lastindexofarray-value--fromindexarraylength-1">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2828 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Gets the index at which the last occurrence of `value` is found using strict equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the offset from the end of the collection.
|
Gets the index at which the last occurrence of `value` is found using strict equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the offset from the end of the collection.
|
||||||
|
|
||||||
@@ -424,7 +425,7 @@ _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_objectkeys--values"></a>`_.object(keys [, values=[]])`
|
### <a id="_objectkeys--values"></a>`_.object(keys [, values=[]])`
|
||||||
<a href="#_objectkeys--values">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2836 "View in source") [Ⓣ][1]
|
<a href="#_objectkeys--values">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2858 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an object composed from arrays of `keys` and `values`. Pass either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`, or two arrays, one of `keys` and one of corresponding `values`.
|
Creates an object composed from arrays of `keys` and `values`. Pass either a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`, or two arrays, one of `keys` and one of corresponding `values`.
|
||||||
|
|
||||||
@@ -449,7 +450,7 @@ _.object(['moe', 'larry', 'curly'], [30, 40, 50]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_rangestart0-end--step1"></a>`_.range([start=0], end [, step=1])`
|
### <a id="_rangestart0-end--step1"></a>`_.range([start=0], end [, step=1])`
|
||||||
<a href="#_rangestart0-end--step1">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2881 "View in source") [Ⓣ][1]
|
<a href="#_rangestart0-end--step1">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2903 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an array of numbers *(positive and/or negative)* progressing from `start` up to but not including `stop`. This method is a port of Python's `range()` function. See http://docs.python.org/library/functions.html#range.
|
Creates an array of numbers *(positive and/or negative)* progressing from `start` up to but not including `stop`. This method is a port of Python's `range()` function. See http://docs.python.org/library/functions.html#range.
|
||||||
|
|
||||||
@@ -487,7 +488,7 @@ _.range(0);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_restarray--n1"></a>`_.rest(array [, n=1])`
|
### <a id="_restarray--n1"></a>`_.rest(array [, n=1])`
|
||||||
<a href="#_restarray--n1">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2920 "View in source") [Ⓣ][1]
|
<a href="#_restarray--n1">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2942 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
The opposite of `_.initial`, this method gets all but the first value of `array`. Pass `n` to exclude the first `n` values from the result.
|
The opposite of `_.initial`, this method gets all but the first value of `array`. Pass `n` to exclude the first `n` values from the result.
|
||||||
|
|
||||||
@@ -515,7 +516,7 @@ _.rest([3, 2, 1]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_sortedindexarray-value--callbackidentityproperty-thisarg"></a>`_.sortedIndex(array, value [, callback=identity|property, thisArg])`
|
### <a id="_sortedindexarray-value--callbackidentityproperty-thisarg"></a>`_.sortedIndex(array, value [, callback=identity|property, thisArg])`
|
||||||
<a href="#_sortedindexarray-value--callbackidentityproperty-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2966 "View in source") [Ⓣ][1]
|
<a href="#_sortedindexarray-value--callbackidentityproperty-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2988 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Uses a binary search to determine the smallest index at which the `value` should be inserted into `array` in order to maintain the sort order of the sorted `array`. If `callback` is passed, it will be executed for `value` and each element in `array` to compute their sort ranking. The `callback` is bound to `thisArg` and invoked with one argument; *(value)*. The `callback` argument may also be the name of a property to order by.
|
Uses a binary search to determine the smallest index at which the `value` should be inserted into `array` in order to maintain the sort order of the sorted `array`. If `callback` is passed, it will be executed for `value` and each element in `array` to compute their sort ranking. The `callback` is bound to `thisArg` and invoked with one argument; *(value)*. The `callback` argument may also be the name of a property to order by.
|
||||||
|
|
||||||
@@ -559,7 +560,7 @@ _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_unionarray1-array2-"></a>`_.union([array1, array2, ...])`
|
### <a id="_unionarray1-array2-"></a>`_.union([array1, array2, ...])`
|
||||||
<a href="#_unionarray1-array2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2997 "View in source") [Ⓣ][1]
|
<a href="#_unionarray1-array2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3019 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Computes the union of the passed-in arrays using strict equality for comparisons, i.e. `===`.
|
Computes the union of the passed-in arrays using strict equality for comparisons, i.e. `===`.
|
||||||
|
|
||||||
@@ -583,7 +584,7 @@ _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_uniqarray--issortedfalse-callbackidentity-thisarg"></a>`_.uniq(array [, isSorted=false, callback=identity, thisArg])`
|
### <a id="_uniqarray--issortedfalse-callbackidentity-thisarg"></a>`_.uniq(array [, isSorted=false, callback=identity, thisArg])`
|
||||||
<a href="#_uniqarray--issortedfalse-callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3031 "View in source") [Ⓣ][1]
|
<a href="#_uniqarray--issortedfalse-callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3053 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a duplicate-value-free version of the `array` using strict equality for comparisons, i.e. `===`. If the `array` is already sorted, passing `true` for `isSorted` will run a faster algorithm. If `callback` is passed, each element of `array` is passed through a callback` before uniqueness is computed. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index, array)*.
|
Creates a duplicate-value-free version of the `array` using strict equality for comparisons, i.e. `===`. If the `array` is already sorted, passing `true` for `isSorted` will run a faster algorithm. If `callback` is passed, each element of `array` is passed through a callback` before uniqueness is computed. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index, array)*.
|
||||||
|
|
||||||
@@ -622,7 +623,7 @@ _.uniq([1, 2, 1.5, 3, 2.5], function(num) { return this.floor(num); }, Math);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_withoutarray--value1-value2-"></a>`_.without(array [, value1, value2, ...])`
|
### <a id="_withoutarray--value1-value2-"></a>`_.without(array [, value1, value2, ...])`
|
||||||
<a href="#_withoutarray--value1-value2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3089 "View in source") [Ⓣ][1]
|
<a href="#_withoutarray--value1-value2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3111 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an array with all occurrences of the passed values removed using strict equality for comparisons, i.e. `===`.
|
Creates an array with all occurrences of the passed values removed using strict equality for comparisons, i.e. `===`.
|
||||||
|
|
||||||
@@ -647,7 +648,7 @@ _.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_ziparray1-array2-"></a>`_.zip([array1, array2, ...])`
|
### <a id="_ziparray1-array2-"></a>`_.zip([array1, array2, ...])`
|
||||||
<a href="#_ziparray1-array2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3120 "View in source") [Ⓣ][1]
|
<a href="#_ziparray1-array2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3142 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Groups the elements of each array at their corresponding indexes. Useful for separate data sources that are coordinated through matching array indexes. For a matrix of nested arrays, `_.zip.apply(...)` can transpose the matrix in a similar fashion.
|
Groups the elements of each array at their corresponding indexes. Useful for separate data sources that are coordinated through matching array indexes. For a matrix of nested arrays, `_.zip.apply(...)` can transpose the matrix in a similar fashion.
|
||||||
|
|
||||||
@@ -696,7 +697,7 @@ The `lodash` function.
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_chainvalue"></a>`_.chain(value)`
|
### <a id="_chainvalue"></a>`_.chain(value)`
|
||||||
<a href="#_chainvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3985 "View in source") [Ⓣ][1]
|
<a href="#_chainvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L4008 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Wraps the value in a `lodash` wrapper object.
|
Wraps the value in a `lodash` wrapper object.
|
||||||
|
|
||||||
@@ -730,7 +731,7 @@ var youngest = _.chain(stooges)
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_tapvalue-interceptor"></a>`_.tap(value, interceptor)`
|
### <a id="_tapvalue-interceptor"></a>`_.tap(value, interceptor)`
|
||||||
<a href="#_tapvalue-interceptor">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L4012 "View in source") [Ⓣ][1]
|
<a href="#_tapvalue-interceptor">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L4035 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Invokes `interceptor` with the `value` as the first argument, and then returns `value`. The purpose of this method is to "tap into" a method chain, in order to perform operations on intermediate results within the chain.
|
Invokes `interceptor` with the `value` as the first argument, and then returns `value`. The purpose of this method is to "tap into" a method chain, in order to perform operations on intermediate results within the chain.
|
||||||
|
|
||||||
@@ -760,7 +761,7 @@ _.chain([1, 2, 3, 200])
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_prototypechain"></a>`_.prototype.chain()`
|
### <a id="_prototypechain"></a>`_.prototype.chain()`
|
||||||
<a href="#_prototypechain">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L4030 "View in source") [Ⓣ][1]
|
<a href="#_prototypechain">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L4053 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Enables method chaining on the wrapper object.
|
Enables method chaining on the wrapper object.
|
||||||
|
|
||||||
@@ -781,7 +782,7 @@ _([1, 2, 3]).value();
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_prototypevalue"></a>`_.prototype.value()`
|
### <a id="_prototypevalue"></a>`_.prototype.value()`
|
||||||
<a href="#_prototypevalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L4047 "View in source") [Ⓣ][1]
|
<a href="#_prototypevalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L4070 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Extracts the wrapped value.
|
Extracts the wrapped value.
|
||||||
|
|
||||||
@@ -809,7 +810,7 @@ _([1, 2, 3]).value();
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_containscollection-target--fromindex0"></a>`_.contains(collection, target [, fromIndex=0])`
|
### <a id="_containscollection-target--fromindex0"></a>`_.contains(collection, target [, fromIndex=0])`
|
||||||
<a href="#_containscollection-target--fromindex0">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1837 "View in source") [Ⓣ][1]
|
<a href="#_containscollection-target--fromindex0">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1844 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if a given `target` element is present in a `collection` using strict equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the offset from the end of the collection.
|
Checks if a given `target` element is present in a `collection` using strict equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used as the offset from the end of the collection.
|
||||||
|
|
||||||
@@ -847,7 +848,7 @@ _.contains('curly', 'ur');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_countbycollection-callbackproperty--thisarg"></a>`_.countBy(collection, callback|property [, thisArg])`
|
### <a id="_countbycollection-callbackproperty--thisarg"></a>`_.countBy(collection, callback|property [, thisArg])`
|
||||||
<a href="#_countbycollection-callbackproperty--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1879 "View in source") [Ⓣ][1]
|
<a href="#_countbycollection-callbackproperty--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1891 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an object composed of keys returned from running each element of `collection` through a `callback`. The corresponding value of each key is the number of times the key was returned by `callback`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*. The `callback` argument may also be the name of a property to count by *(e.g. 'length')*.
|
Creates an object composed of keys returned from running each element of `collection` through a `callback`. The corresponding value of each key is the number of times the key was returned by `callback`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*. The `callback` argument may also be the name of a property to count by *(e.g. 'length')*.
|
||||||
|
|
||||||
@@ -879,7 +880,7 @@ _.countBy(['one', 'two', 'three'], 'length');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_everycollection--callbackidentity-thisarg"></a>`_.every(collection [, callback=identity, thisArg])`
|
### <a id="_everycollection--callbackidentity-thisarg"></a>`_.every(collection [, callback=identity, thisArg])`
|
||||||
<a href="#_everycollection--callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1908 "View in source") [Ⓣ][1]
|
<a href="#_everycollection--callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1920 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if the `callback` returns a truthy value for **all** elements of a `collection`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*.
|
Checks if the `callback` returns a truthy value for **all** elements of a `collection`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*.
|
||||||
|
|
||||||
@@ -908,7 +909,7 @@ _.every([true, 1, null, 'yes'], Boolean);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_filtercollection--callbackidentity-thisarg"></a>`_.filter(collection [, callback=identity, thisArg])`
|
### <a id="_filtercollection--callbackidentity-thisarg"></a>`_.filter(collection [, callback=identity, thisArg])`
|
||||||
<a href="#_filtercollection--callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1947 "View in source") [Ⓣ][1]
|
<a href="#_filtercollection--callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1959 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Examines each element in a `collection`, returning an array of all elements the `callback` returns truthy for. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*.
|
Examines each element in a `collection`, returning an array of all elements the `callback` returns truthy for. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*.
|
||||||
|
|
||||||
@@ -937,7 +938,7 @@ var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; })
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_findcollection-callback--thisarg"></a>`_.find(collection, callback [, thisArg])`
|
### <a id="_findcollection-callback--thisarg"></a>`_.find(collection, callback [, thisArg])`
|
||||||
<a href="#_findcollection-callback--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1978 "View in source") [Ⓣ][1]
|
<a href="#_findcollection-callback--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2003 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Examines each element in a `collection`, returning the first one the `callback` returns truthy for. The function returns as soon as it finds an acceptable element, and does not iterate over the entire `collection`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*.
|
Examines each element in a `collection`, returning the first one the `callback` returns truthy for. The function returns as soon as it finds an acceptable element, and does not iterate over the entire `collection`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*.
|
||||||
|
|
||||||
@@ -966,7 +967,7 @@ var even = _.find([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_foreachcollection-callback--thisarg"></a>`_.forEach(collection, callback [, thisArg])`
|
### <a id="_foreachcollection-callback--thisarg"></a>`_.forEach(collection, callback [, thisArg])`
|
||||||
<a href="#_foreachcollection-callback--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2012 "View in source") [Ⓣ][1]
|
<a href="#_foreachcollection-callback--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2037 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Iterates over a `collection`, executing the `callback` for each element in the `collection`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*. Callbacks may exit iteration early by explicitly returning `false`.
|
Iterates over a `collection`, executing the `callback` for each element in the `collection`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*. Callbacks may exit iteration early by explicitly returning `false`.
|
||||||
|
|
||||||
@@ -998,7 +999,7 @@ _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, alert);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_groupbycollection-callbackproperty--thisarg"></a>`_.groupBy(collection, callback|property [, thisArg])`
|
### <a id="_groupbycollection-callbackproperty--thisarg"></a>`_.groupBy(collection, callback|property [, thisArg])`
|
||||||
<a href="#_groupbycollection-callbackproperty--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2040 "View in source") [Ⓣ][1]
|
<a href="#_groupbycollection-callbackproperty--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2065 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an object composed of keys returned from running each element of `collection` through a `callback`. The corresponding value of each key is an array of elements passed to `callback` that returned the key. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*. The `callback` argument may also be the name of a property to group by *(e.g. 'length')*.
|
Creates an object composed of keys returned from running each element of `collection` through a `callback`. The corresponding value of each key is an array of elements passed to `callback` that returned the key. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*. The `callback` argument may also be the name of a property to group by *(e.g. 'length')*.
|
||||||
|
|
||||||
@@ -1030,7 +1031,7 @@ _.groupBy(['one', 'two', 'three'], 'length');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_invokecollection-methodname--arg1-arg2-"></a>`_.invoke(collection, methodName [, arg1, arg2, ...])`
|
### <a id="_invokecollection-methodname--arg1-arg2-"></a>`_.invoke(collection, methodName [, arg1, arg2, ...])`
|
||||||
<a href="#_invokecollection-methodname--arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2072 "View in source") [Ⓣ][1]
|
<a href="#_invokecollection-methodname--arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2097 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Invokes the method named by `methodName` on each element in the `collection`, returning an array of the results of each invoked method. Additional arguments will be passed to each invoked method. If `methodName` is a function it will be invoked for, and `this` bound to, each element in the `collection`.
|
Invokes the method named by `methodName` on each element in the `collection`, returning an array of the results of each invoked method. Additional arguments will be passed to each invoked method. If `methodName` is a function it will be invoked for, and `this` bound to, each element in the `collection`.
|
||||||
|
|
||||||
@@ -1059,7 +1060,7 @@ _.invoke([123, 456], String.prototype.split, '');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_mapcollection--callbackidentity-thisarg"></a>`_.map(collection [, callback=identity, thisArg])`
|
### <a id="_mapcollection--callbackidentity-thisarg"></a>`_.map(collection [, callback=identity, thisArg])`
|
||||||
<a href="#_mapcollection--callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2104 "View in source") [Ⓣ][1]
|
<a href="#_mapcollection--callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2129 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an array of values by running each element in the `collection` through a `callback`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*.
|
Creates an array of values by running each element in the `collection` through a `callback`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*.
|
||||||
|
|
||||||
@@ -1091,7 +1092,7 @@ _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_maxcollection--callback-thisarg"></a>`_.max(collection [, callback, thisArg])`
|
### <a id="_maxcollection--callback-thisarg"></a>`_.max(collection [, callback, thisArg])`
|
||||||
<a href="#_maxcollection--callback-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2146 "View in source") [Ⓣ][1]
|
<a href="#_maxcollection--callback-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2171 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Retrieves the maximum value of an `array`. If `callback` is passed, it will be executed for each value in the `array` to generate the criterion by which the value is ranked. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index, collection)*.
|
Retrieves the maximum value of an `array`. If `callback` is passed, it will be executed for each value in the `array` to generate the criterion by which the value is ranked. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index, collection)*.
|
||||||
|
|
||||||
@@ -1123,7 +1124,7 @@ _.max(stooges, function(stooge) { return stooge.age; });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_mincollection--callback-thisarg"></a>`_.min(collection [, callback, thisArg])`
|
### <a id="_mincollection--callback-thisarg"></a>`_.min(collection [, callback, thisArg])`
|
||||||
<a href="#_mincollection--callback-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2192 "View in source") [Ⓣ][1]
|
<a href="#_mincollection--callback-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2217 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Retrieves the minimum value of an `array`. If `callback` is passed, it will be executed for each value in the `array` to generate the criterion by which the value is ranked. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index, collection)*.
|
Retrieves the minimum value of an `array`. If `callback` is passed, it will be executed for each value in the `array` to generate the criterion by which the value is ranked. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index, collection)*.
|
||||||
|
|
||||||
@@ -1149,7 +1150,7 @@ _.min([10, 5, 100, 2, 1000]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_pluckcollection-property"></a>`_.pluck(collection, property)`
|
### <a id="_pluckcollection-property"></a>`_.pluck(collection, property)`
|
||||||
<a href="#_pluckcollection-property">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2241 "View in source") [Ⓣ][1]
|
<a href="#_pluckcollection-property">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2266 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Retrieves the value of a specified property from all elements in the `collection`.
|
Retrieves the value of a specified property from all elements in the `collection`.
|
||||||
|
|
||||||
@@ -1180,7 +1181,7 @@ _.pluck(stooges, 'name');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_reducecollection-callback--accumulator-thisarg"></a>`_.reduce(collection, callback [, accumulator, thisArg])`
|
### <a id="_reducecollection-callback--accumulator-thisarg"></a>`_.reduce(collection, callback [, accumulator, thisArg])`
|
||||||
<a href="#_reducecollection-callback--accumulator-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2269 "View in source") [Ⓣ][1]
|
<a href="#_reducecollection-callback--accumulator-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2294 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Boils down a `collection` to a single value. The initial state of the reduction is `accumulator` and each successive step of it should be returned by the `callback`. The `callback` is bound to `thisArg` and invoked with `4` arguments; for arrays they are *(accumulator, value, index|key, collection)*.
|
Boils down a `collection` to a single value. The initial state of the reduction is `accumulator` and each successive step of it should be returned by the `callback`. The `callback` is bound to `thisArg` and invoked with `4` arguments; for arrays they are *(accumulator, value, index|key, collection)*.
|
||||||
|
|
||||||
@@ -1210,7 +1211,7 @@ var sum = _.reduce([1, 2, 3], function(memo, num) { return memo + num; });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_reducerightcollection-callback--accumulator-thisarg"></a>`_.reduceRight(collection, callback [, accumulator, thisArg])`
|
### <a id="_reducerightcollection-callback--accumulator-thisarg"></a>`_.reduceRight(collection, callback [, accumulator, thisArg])`
|
||||||
<a href="#_reducerightcollection-callback--accumulator-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2298 "View in source") [Ⓣ][1]
|
<a href="#_reducerightcollection-callback--accumulator-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2323 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
The right-associative version of `_.reduce`.
|
The right-associative version of `_.reduce`.
|
||||||
|
|
||||||
@@ -1241,7 +1242,7 @@ var flat = _.reduceRight(list, function(a, b) { return a.concat(b); }, []);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_rejectcollection--callbackidentity-thisarg"></a>`_.reject(collection [, callback=identity, thisArg])`
|
### <a id="_rejectcollection--callbackidentity-thisarg"></a>`_.reject(collection [, callback=identity, thisArg])`
|
||||||
<a href="#_rejectcollection--callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2335 "View in source") [Ⓣ][1]
|
<a href="#_rejectcollection--callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2360 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
The opposite of `_.filter`, this method returns the values of a `collection` that `callback` does **not** return truthy for.
|
The opposite of `_.filter`, this method returns the values of a `collection` that `callback` does **not** return truthy for.
|
||||||
|
|
||||||
@@ -1267,7 +1268,7 @@ var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_shufflecollection"></a>`_.shuffle(collection)`
|
### <a id="_shufflecollection"></a>`_.shuffle(collection)`
|
||||||
<a href="#_shufflecollection">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2356 "View in source") [Ⓣ][1]
|
<a href="#_shufflecollection">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2381 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an array of shuffled `array` values, using a version of the Fisher-Yates shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle.
|
Creates an array of shuffled `array` values, using a version of the Fisher-Yates shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle.
|
||||||
|
|
||||||
@@ -1291,7 +1292,7 @@ _.shuffle([1, 2, 3, 4, 5, 6]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_sizecollection"></a>`_.size(collection)`
|
### <a id="_sizecollection"></a>`_.size(collection)`
|
||||||
<a href="#_sizecollection">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2388 "View in source") [Ⓣ][1]
|
<a href="#_sizecollection">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2413 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Gets the size of the `collection` by returning `collection.length` for arrays and array-like objects or the number of own enumerable properties for objects.
|
Gets the size of the `collection` by returning `collection.length` for arrays and array-like objects or the number of own enumerable properties for objects.
|
||||||
|
|
||||||
@@ -1321,7 +1322,7 @@ _.size('curly');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_somecollection--callbackidentity-thisarg"></a>`_.some(collection [, callback=identity, thisArg])`
|
### <a id="_somecollection--callbackidentity-thisarg"></a>`_.some(collection [, callback=identity, thisArg])`
|
||||||
<a href="#_somecollection--callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2413 "View in source") [Ⓣ][1]
|
<a href="#_somecollection--callbackidentity-thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2438 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if the `callback` returns a truthy value for **any** element of a `collection`. The function returns as soon as it finds passing value, and does not iterate over the entire `collection`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*.
|
Checks if the `callback` returns a truthy value for **any** element of a `collection`. The function returns as soon as it finds passing value, and does not iterate over the entire `collection`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*.
|
||||||
|
|
||||||
@@ -1338,7 +1339,7 @@ Checks if the `callback` returns a truthy value for **any** element of a `collec
|
|||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
```js
|
```js
|
||||||
_.some([null, 0, 'yes', false]);
|
_.some([null, 0, 'yes', false], Boolean);
|
||||||
// => true
|
// => true
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -1350,7 +1351,7 @@ _.some([null, 0, 'yes', false]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_sortbycollection-callbackproperty--thisarg"></a>`_.sortBy(collection, callback|property [, thisArg])`
|
### <a id="_sortbycollection-callbackproperty--thisarg"></a>`_.sortBy(collection, callback|property [, thisArg])`
|
||||||
<a href="#_sortbycollection-callbackproperty--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2459 "View in source") [Ⓣ][1]
|
<a href="#_sortbycollection-callbackproperty--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2484 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an array, stable sorted in ascending order by the results of running each element of `collection` through a `callback`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*. The `callback` argument may also be the name of a property to sort by *(e.g. 'length')*.
|
Creates an array, stable sorted in ascending order by the results of running each element of `collection` through a `callback`. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, index|key, collection)*. The `callback` argument may also be the name of a property to sort by *(e.g. 'length')*.
|
||||||
|
|
||||||
@@ -1382,7 +1383,7 @@ _.sortBy(['larry', 'brendan', 'moe'], 'length');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_toarraycollection"></a>`_.toArray(collection)`
|
### <a id="_toarraycollection"></a>`_.toArray(collection)`
|
||||||
<a href="#_toarraycollection">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2491 "View in source") [Ⓣ][1]
|
<a href="#_toarraycollection">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2516 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Converts the `collection`, to an array.
|
Converts the `collection`, to an array.
|
||||||
|
|
||||||
@@ -1406,7 +1407,7 @@ Converts the `collection`, to an array.
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_wherecollection-properties"></a>`_.where(collection, properties)`
|
### <a id="_wherecollection-properties"></a>`_.where(collection, properties)`
|
||||||
<a href="#_wherecollection-properties">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2521 "View in source") [Ⓣ][1]
|
<a href="#_wherecollection-properties">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L2546 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Examines each element in a `collection`, returning an array of all elements that contain the given `properties`.
|
Examines each element in a `collection`, returning an array of all elements that contain the given `properties`.
|
||||||
|
|
||||||
@@ -1444,7 +1445,7 @@ _.where(stooges, { 'age': 40 });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_aftern-func"></a>`_.after(n, func)`
|
### <a id="_aftern-func"></a>`_.after(n, func)`
|
||||||
<a href="#_aftern-func">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3153 "View in source") [Ⓣ][1]
|
<a href="#_aftern-func">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3175 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a function that is restricted to executing `func` only after it is called `n` times. The `func` is executed with the `this` binding of the created function.
|
Creates a function that is restricted to executing `func` only after it is called `n` times. The `func` is executed with the `this` binding of the created function.
|
||||||
|
|
||||||
@@ -1472,7 +1473,7 @@ _.forEach(notes, function(note) {
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_bindfunc--thisarg-arg1-arg2-"></a>`_.bind(func [, thisArg, arg1, arg2, ...])`
|
### <a id="_bindfunc--thisarg-arg1-arg2-"></a>`_.bind(func [, thisArg, arg1, arg2, ...])`
|
||||||
<a href="#_bindfunc--thisarg-arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3186 "View in source") [Ⓣ][1]
|
<a href="#_bindfunc--thisarg-arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3208 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a function that, when called, invokes `func` with the `this` binding of `thisArg` and prepends any additional `bind` arguments to those passed to the bound function.
|
Creates a function that, when called, invokes `func` with the `this` binding of `thisArg` and prepends any additional `bind` arguments to those passed to the bound function.
|
||||||
|
|
||||||
@@ -1503,7 +1504,7 @@ func();
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_bindallobject--methodname1-methodname2-"></a>`_.bindAll(object [, methodName1, methodName2, ...])`
|
### <a id="_bindallobject--methodname1-methodname2-"></a>`_.bindAll(object [, methodName1, methodName2, ...])`
|
||||||
<a href="#_bindallobject--methodname1-methodname2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3216 "View in source") [Ⓣ][1]
|
<a href="#_bindallobject--methodname1-methodname2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3238 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Binds methods on `object` to `object`, overwriting the existing method. If no method names are provided, all the function properties of `object` will be bound.
|
Binds methods on `object` to `object`, overwriting the existing method. If no method names are provided, all the function properties of `object` will be bound.
|
||||||
|
|
||||||
@@ -1531,10 +1532,51 @@ jQuery('#lodash_button').on('click', buttonView.onClick);
|
|||||||
<!-- /div -->
|
<!-- /div -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- div -->
|
||||||
|
|
||||||
|
### <a id="_bindkeyobject-key--arg1-arg2-"></a>`_.bindKey(object, key [, arg1, arg2, ...])`
|
||||||
|
<a href="#_bindkeyobject-key--arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3284 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
|
Creates a function that, when called, invokes the method at `object[key]` and prepends any additional `bindKey` arguments to those passed to the bound function. This method differs from `_.bind` by allowing bound functions to reference methods that will be redefined or don't yet exist. See http://michaux.ca/articles/lazy-function-definition-pattern.
|
||||||
|
|
||||||
|
#### Arguments
|
||||||
|
1. `object` *(Object)*: The object the method belongs to.
|
||||||
|
2. `key` *(String)*: The key of the method.
|
||||||
|
3. `[arg1, arg2, ...]` *(Mixed)*: Arguments to be partially applied.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
*(Function)*: Returns the new bound function.
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```js
|
||||||
|
var object = {
|
||||||
|
'name': 'moe',
|
||||||
|
'greet': function(greeting) {
|
||||||
|
return greeting + ' ' + this.name;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var func = _.bindKey(object, 'greet', 'hi');
|
||||||
|
func();
|
||||||
|
// => 'hi moe'
|
||||||
|
|
||||||
|
object.greet = function(greeting) {
|
||||||
|
return greeting + ', ' + this.name + '!';
|
||||||
|
};
|
||||||
|
|
||||||
|
func();
|
||||||
|
// => 'hi, moe!'
|
||||||
|
```
|
||||||
|
|
||||||
|
* * *
|
||||||
|
|
||||||
|
<!-- /div -->
|
||||||
|
|
||||||
|
|
||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_composefunc1-func2-"></a>`_.compose([func1, func2, ...])`
|
### <a id="_composefunc1-func2-"></a>`_.compose([func1, func2, ...])`
|
||||||
<a href="#_composefunc1-func2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3247 "View in source") [Ⓣ][1]
|
<a href="#_composefunc1-func2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3307 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a function that is the composition of the passed functions, where each function consumes the return value of the function that follows. In math terms, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`. Each function is executed with the `this` binding of the composed function.
|
Creates a function that is the composition of the passed functions, where each function consumes the return value of the function that follows. In math terms, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`. Each function is executed with the `this` binding of the composed function.
|
||||||
|
|
||||||
@@ -1561,7 +1603,7 @@ welcome('moe');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_debouncefunc-wait-immediate"></a>`_.debounce(func, wait, immediate)`
|
### <a id="_debouncefunc-wait-immediate"></a>`_.debounce(func, wait, immediate)`
|
||||||
<a href="#_debouncefunc-wait-immediate">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3280 "View in source") [Ⓣ][1]
|
<a href="#_debouncefunc-wait-immediate">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3340 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a function that will delay the execution of `func` until after `wait` milliseconds have elapsed since the last time it was invoked. Pass `true` for `immediate` to cause debounce to invoke `func` on the leading, instead of the trailing, edge of the `wait` timeout. Subsequent calls to the debounced function will return the result of the last `func` call.
|
Creates a function that will delay the execution of `func` until after `wait` milliseconds have elapsed since the last time it was invoked. Pass `true` for `immediate` to cause debounce to invoke `func` on the leading, instead of the trailing, edge of the `wait` timeout. Subsequent calls to the debounced function will return the result of the last `func` call.
|
||||||
|
|
||||||
@@ -1587,7 +1629,7 @@ jQuery(window).on('resize', lazyLayout);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_deferfunc--arg1-arg2-"></a>`_.defer(func [, arg1, arg2, ...])`
|
### <a id="_deferfunc--arg1-arg2-"></a>`_.defer(func [, arg1, arg2, ...])`
|
||||||
<a href="#_deferfunc--arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3344 "View in source") [Ⓣ][1]
|
<a href="#_deferfunc--arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3404 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Defers executing the `func` function until the current call stack has cleared. Additional arguments will be passed to `func` when it is invoked.
|
Defers executing the `func` function until the current call stack has cleared. Additional arguments will be passed to `func` when it is invoked.
|
||||||
|
|
||||||
@@ -1612,7 +1654,7 @@ _.defer(function() { alert('deferred'); });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_delayfunc-wait--arg1-arg2-"></a>`_.delay(func, wait [, arg1, arg2, ...])`
|
### <a id="_delayfunc-wait--arg1-arg2-"></a>`_.delay(func, wait [, arg1, arg2, ...])`
|
||||||
<a href="#_delayfunc-wait--arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3324 "View in source") [Ⓣ][1]
|
<a href="#_delayfunc-wait--arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3384 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Executes the `func` function after `wait` milliseconds. Additional arguments will be passed to `func` when it is invoked.
|
Executes the `func` function after `wait` milliseconds. Additional arguments will be passed to `func` when it is invoked.
|
||||||
|
|
||||||
@@ -1636,51 +1678,10 @@ _.delay(log, 1000, 'logged later');
|
|||||||
<!-- /div -->
|
<!-- /div -->
|
||||||
|
|
||||||
|
|
||||||
<!-- div -->
|
|
||||||
|
|
||||||
### <a id="_latebindobject-methodname--arg1-arg2-"></a>`_.lateBind(object, methodName [, arg1, arg2, ...])`
|
|
||||||
<a href="#_latebindobject-methodname--arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3382 "View in source") [Ⓣ][1]
|
|
||||||
|
|
||||||
Creates a function that, when called, invokes `object[methodName]` and prepends any additional `lateBind` arguments to those passed to the bound function. This method differs from `_.bind` by allowing bound functions to reference methods that will be redefined or don't yet exist.
|
|
||||||
|
|
||||||
#### Arguments
|
|
||||||
1. `object` *(Object)*: The object the method belongs to.
|
|
||||||
2. `methodName` *(String)*: The method name.
|
|
||||||
3. `[arg1, arg2, ...]` *(Mixed)*: Arguments to be partially applied.
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
*(Function)*: Returns the new bound function.
|
|
||||||
|
|
||||||
#### Example
|
|
||||||
```js
|
|
||||||
var object = {
|
|
||||||
'name': 'moe',
|
|
||||||
'greet': function(greeting) {
|
|
||||||
return greeting + ' ' + this.name;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var func = _.lateBind(object, 'greet', 'hi');
|
|
||||||
func();
|
|
||||||
// => 'hi moe'
|
|
||||||
|
|
||||||
object.greet = function(greeting) {
|
|
||||||
return greeting + ', ' + this.name + '!';
|
|
||||||
};
|
|
||||||
|
|
||||||
func();
|
|
||||||
// => 'hi, moe!'
|
|
||||||
```
|
|
||||||
|
|
||||||
* * *
|
|
||||||
|
|
||||||
<!-- /div -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_memoizefunc--resolver"></a>`_.memoize(func [, resolver])`
|
### <a id="_memoizefunc--resolver"></a>`_.memoize(func [, resolver])`
|
||||||
<a href="#_memoizefunc--resolver">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3405 "View in source") [Ⓣ][1]
|
<a href="#_memoizefunc--resolver">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3428 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a function that memoizes the result of `func`. If `resolver` is passed, it will be used to determine the cache key for storing the result based on the arguments passed to the memoized function. By default, the first argument passed to the memoized function is used as the cache key. The `func` is executed with the `this` binding of the memoized function.
|
Creates a function that memoizes the result of `func`. If `resolver` is passed, it will be used to determine the cache key for storing the result based on the arguments passed to the memoized function. By default, the first argument passed to the memoized function is used as the cache key. The `func` is executed with the `this` binding of the memoized function.
|
||||||
|
|
||||||
@@ -1706,7 +1707,7 @@ var fibonacci = _.memoize(function(n) {
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_oncefunc"></a>`_.once(func)`
|
### <a id="_oncefunc"></a>`_.once(func)`
|
||||||
<a href="#_oncefunc">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3432 "View in source") [Ⓣ][1]
|
<a href="#_oncefunc">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3455 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a function that is restricted to execute `func` once. Repeat calls to the function will return the value of the first call. The `func` is executed with the `this` binding of the created function.
|
Creates a function that is restricted to execute `func` once. Repeat calls to the function will return the value of the first call. The `func` is executed with the `this` binding of the created function.
|
||||||
|
|
||||||
@@ -1732,7 +1733,7 @@ initialize();
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_partialfunc--arg1-arg2-"></a>`_.partial(func [, arg1, arg2, ...])`
|
### <a id="_partialfunc--arg1-arg2-"></a>`_.partial(func [, arg1, arg2, ...])`
|
||||||
<a href="#_partialfunc--arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3467 "View in source") [Ⓣ][1]
|
<a href="#_partialfunc--arg1-arg2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3490 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a function that, when called, invokes `func` with any additional `partial` arguments prepended to those passed to the new function. This method is similar to `bind`, except it does **not** alter the `this` binding.
|
Creates a function that, when called, invokes `func` with any additional `partial` arguments prepended to those passed to the new function. This method is similar to `bind`, except it does **not** alter the `this` binding.
|
||||||
|
|
||||||
@@ -1759,7 +1760,7 @@ hi('moe');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_throttlefunc-wait"></a>`_.throttle(func, wait)`
|
### <a id="_throttlefunc-wait"></a>`_.throttle(func, wait)`
|
||||||
<a href="#_throttlefunc-wait">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3489 "View in source") [Ⓣ][1]
|
<a href="#_throttlefunc-wait">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3512 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a function that, when executed, will only call the `func` function at most once per every `wait` milliseconds. If the throttled function is invoked more than once during the `wait` timeout, `func` will also be called on the trailing edge of the timeout. Subsequent calls to the throttled function will return the result of the last `func` call.
|
Creates a function that, when executed, will only call the `func` function at most once per every `wait` milliseconds. If the throttled function is invoked more than once during the `wait` timeout, `func` will also be called on the trailing edge of the timeout. Subsequent calls to the throttled function will return the result of the last `func` call.
|
||||||
|
|
||||||
@@ -1784,7 +1785,7 @@ jQuery(window).on('scroll', throttled);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_wrapvalue-wrapper"></a>`_.wrap(value, wrapper)`
|
### <a id="_wrapvalue-wrapper"></a>`_.wrap(value, wrapper)`
|
||||||
<a href="#_wrapvalue-wrapper">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3541 "View in source") [Ⓣ][1]
|
<a href="#_wrapvalue-wrapper">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3564 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a function that passes `value` to the `wrapper` function as its first argument. Additional arguments passed to the function are appended to those passed to the `wrapper` function. The `wrapper` is executed with the `this` binding of the created function.
|
Creates a function that passes `value` to the `wrapper` function as its first argument. Additional arguments passed to the function are appended to those passed to the `wrapper` function. The `wrapper` is executed with the `this` binding of the created function.
|
||||||
|
|
||||||
@@ -1817,10 +1818,38 @@ hello();
|
|||||||
|
|
||||||
## `“Objects” Methods`
|
## `“Objects” Methods`
|
||||||
|
|
||||||
|
<!-- div -->
|
||||||
|
|
||||||
|
### <a id="_assignobject--source1-source2-"></a>`_.assign(object [, source1, source2, ...])`
|
||||||
|
<a href="#_assignobject--source1-source2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L719 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
|
Assigns own enumerable properties of source object(s) to the `destination` object. Subsequent sources will overwrite propery assignments of previous sources.
|
||||||
|
|
||||||
|
#### Aliases
|
||||||
|
*extend*
|
||||||
|
|
||||||
|
#### Arguments
|
||||||
|
1. `object` *(Object)*: The destination object.
|
||||||
|
2. `[source1, source2, ...]` *(Object)*: The source objects.
|
||||||
|
|
||||||
|
#### Returns
|
||||||
|
*(Object)*: Returns the destination object.
|
||||||
|
|
||||||
|
#### Example
|
||||||
|
```js
|
||||||
|
_.assign({ 'name': 'moe' }, { 'age': 40 });
|
||||||
|
// => { 'name': 'moe', 'age': 40 }
|
||||||
|
```
|
||||||
|
|
||||||
|
* * *
|
||||||
|
|
||||||
|
<!-- /div -->
|
||||||
|
|
||||||
|
|
||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_clonevalue-deep"></a>`_.clone(value, deep)`
|
### <a id="_clonevalue-deep"></a>`_.clone(value, deep)`
|
||||||
<a href="#_clonevalue-deep">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L896 "View in source") [Ⓣ][1]
|
<a href="#_clonevalue-deep">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L917 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a clone of `value`. If `deep` is `true`, all nested objects will also be cloned otherwise they will be assigned by reference. Functions, DOM nodes, `arguments` objects, and objects created by constructors other than `Object` are **not** cloned.
|
Creates a clone of `value`. If `deep` is `true`, all nested objects will also be cloned otherwise they will be assigned by reference. Functions, DOM nodes, `arguments` objects, and objects created by constructors other than `Object` are **not** cloned.
|
||||||
|
|
||||||
@@ -1859,9 +1888,9 @@ shallow[0] === stooges[0];
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_defaultsobject--default1-default2-"></a>`_.defaults(object [, default1, default2, ...])`
|
### <a id="_defaultsobject--default1-default2-"></a>`_.defaults(object [, default1, default2, ...])`
|
||||||
<a href="#_defaultsobject--default1-default2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L979 "View in source") [Ⓣ][1]
|
<a href="#_defaultsobject--default1-default2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1000 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Assigns enumerable properties of the default object(s) to the `destination` object for all `destination` properties that resolve to `null`/`undefined`. Once a property is set, additional defaults of the same property will be ignored.
|
Assigns own enumerable properties of source object(s) to the `destination` object for all `destination` properties that resolve to `null`/`undefined`. Once a property is set, additional defaults of the same property will be ignored.
|
||||||
|
|
||||||
#### Arguments
|
#### Arguments
|
||||||
1. `object` *(Object)*: The destination object.
|
1. `object` *(Object)*: The destination object.
|
||||||
@@ -1882,35 +1911,10 @@ _.defaults(iceCream, { 'flavor': 'vanilla', 'sprinkles': 'rainbow' });
|
|||||||
<!-- /div -->
|
<!-- /div -->
|
||||||
|
|
||||||
|
|
||||||
<!-- div -->
|
|
||||||
|
|
||||||
### <a id="_extendobject--source1-source2-"></a>`_.extend(object [, source1, source2, ...])`
|
|
||||||
<a href="#_extendobject--source1-source2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L999 "View in source") [Ⓣ][1]
|
|
||||||
|
|
||||||
Assigns enumerable properties of the source object(s) to the `destination` object. Subsequent sources will overwrite propery assignments of previous sources.
|
|
||||||
|
|
||||||
#### Arguments
|
|
||||||
1. `object` *(Object)*: The destination object.
|
|
||||||
2. `[source1, source2, ...]` *(Object)*: The source objects.
|
|
||||||
|
|
||||||
#### Returns
|
|
||||||
*(Object)*: Returns the destination object.
|
|
||||||
|
|
||||||
#### Example
|
|
||||||
```js
|
|
||||||
_.extend({ 'name': 'moe' }, { 'age': 40 });
|
|
||||||
// => { 'name': 'moe', 'age': 40 }
|
|
||||||
```
|
|
||||||
|
|
||||||
* * *
|
|
||||||
|
|
||||||
<!-- /div -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_forinobject-callback--thisarg"></a>`_.forIn(object, callback [, thisArg])`
|
### <a id="_forinobject-callback--thisarg"></a>`_.forIn(object, callback [, thisArg])`
|
||||||
<a href="#_forinobject-callback--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L754 "View in source") [Ⓣ][1]
|
<a href="#_forinobject-callback--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L775 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Iterates over `object`'s own and inherited enumerable properties, executing the `callback` for each property. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, key, object)*. Callbacks may exit iteration early by explicitly returning `false`.
|
Iterates over `object`'s own and inherited enumerable properties, executing the `callback` for each property. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, key, object)*. Callbacks may exit iteration early by explicitly returning `false`.
|
||||||
|
|
||||||
@@ -1946,9 +1950,9 @@ _.forIn(new Dog('Dagny'), function(value, key) {
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_forownobject-callback--thisarg"></a>`_.forOwn(object, callback [, thisArg])`
|
### <a id="_forownobject-callback--thisarg"></a>`_.forOwn(object, callback [, thisArg])`
|
||||||
<a href="#_forownobject-callback--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L778 "View in source") [Ⓣ][1]
|
<a href="#_forownobject-callback--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L799 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Iterates over `object`'s own enumerable properties, executing the `callback` for each property. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, key, object)*. Callbacks may exit iteration early by explicitly returning `false`.
|
Iterates over an object's own enumerable properties, executing the `callback` for each property. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, key, object)*. Callbacks may exit iteration early by explicitly returning `false`.
|
||||||
|
|
||||||
#### Arguments
|
#### Arguments
|
||||||
1. `object` *(Object)*: The object to iterate over.
|
1. `object` *(Object)*: The object to iterate over.
|
||||||
@@ -1974,7 +1978,7 @@ _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_functionsobject"></a>`_.functions(object)`
|
### <a id="_functionsobject"></a>`_.functions(object)`
|
||||||
<a href="#_functionsobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1016 "View in source") [Ⓣ][1]
|
<a href="#_functionsobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1019 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a sorted array of all enumerable properties, own and inherited, of `object` that have function values.
|
Creates a sorted array of all enumerable properties, own and inherited, of `object` that have function values.
|
||||||
|
|
||||||
@@ -2001,7 +2005,7 @@ _.functions(_);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_hasobject-property"></a>`_.has(object, property)`
|
### <a id="_hasobject-property"></a>`_.has(object, property)`
|
||||||
<a href="#_hasobject-property">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1041 "View in source") [Ⓣ][1]
|
<a href="#_hasobject-property">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1044 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if the specified object `property` exists and is a direct property, instead of an inherited property.
|
Checks if the specified object `property` exists and is a direct property, instead of an inherited property.
|
||||||
|
|
||||||
@@ -2026,7 +2030,7 @@ _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_invertobject"></a>`_.invert(object)`
|
### <a id="_invertobject"></a>`_.invert(object)`
|
||||||
<a href="#_invertobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1058 "View in source") [Ⓣ][1]
|
<a href="#_invertobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1061 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an object composed of the inverted keys and values of the given `object`.
|
Creates an object composed of the inverted keys and values of the given `object`.
|
||||||
|
|
||||||
@@ -2050,7 +2054,7 @@ _.invert({ 'first': 'Moe', 'second': 'Larry', 'third': 'Curly' });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isargumentsvalue"></a>`_.isArguments(value)`
|
### <a id="_isargumentsvalue"></a>`_.isArguments(value)`
|
||||||
<a href="#_isargumentsvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L716 "View in source") [Ⓣ][1]
|
<a href="#_isargumentsvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L737 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is an `arguments` object.
|
Checks if `value` is an `arguments` object.
|
||||||
|
|
||||||
@@ -2077,7 +2081,7 @@ _.isArguments([1, 2, 3]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isarrayvalue"></a>`_.isArray(value)`
|
### <a id="_isarrayvalue"></a>`_.isArray(value)`
|
||||||
<a href="#_isarrayvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1082 "View in source") [Ⓣ][1]
|
<a href="#_isarrayvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1085 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is an array.
|
Checks if `value` is an array.
|
||||||
|
|
||||||
@@ -2104,7 +2108,7 @@ _.isArray([1, 2, 3]);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isbooleanvalue"></a>`_.isBoolean(value)`
|
### <a id="_isbooleanvalue"></a>`_.isBoolean(value)`
|
||||||
<a href="#_isbooleanvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1099 "View in source") [Ⓣ][1]
|
<a href="#_isbooleanvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1102 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is a boolean *(`true` or `false`)* value.
|
Checks if `value` is a boolean *(`true` or `false`)* value.
|
||||||
|
|
||||||
@@ -2128,7 +2132,7 @@ _.isBoolean(null);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isdatevalue"></a>`_.isDate(value)`
|
### <a id="_isdatevalue"></a>`_.isDate(value)`
|
||||||
<a href="#_isdatevalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1116 "View in source") [Ⓣ][1]
|
<a href="#_isdatevalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1119 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is a date.
|
Checks if `value` is a date.
|
||||||
|
|
||||||
@@ -2152,7 +2156,7 @@ _.isDate(new Date);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_iselementvalue"></a>`_.isElement(value)`
|
### <a id="_iselementvalue"></a>`_.isElement(value)`
|
||||||
<a href="#_iselementvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1133 "View in source") [Ⓣ][1]
|
<a href="#_iselementvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1136 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is a DOM element.
|
Checks if `value` is a DOM element.
|
||||||
|
|
||||||
@@ -2176,7 +2180,7 @@ _.isElement(document.body);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isemptyvalue"></a>`_.isEmpty(value)`
|
### <a id="_isemptyvalue"></a>`_.isEmpty(value)`
|
||||||
<a href="#_isemptyvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1158 "View in source") [Ⓣ][1]
|
<a href="#_isemptyvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1161 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is empty. Arrays, strings, or `arguments` objects with a length of `0` and objects with no own enumerable properties are considered "empty".
|
Checks if `value` is empty. Arrays, strings, or `arguments` objects with a length of `0` and objects with no own enumerable properties are considered "empty".
|
||||||
|
|
||||||
@@ -2206,7 +2210,7 @@ _.isEmpty('');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isequala-b"></a>`_.isEqual(a, b)`
|
### <a id="_isequala-b"></a>`_.isEqual(a, b)`
|
||||||
<a href="#_isequala-b">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1200 "View in source") [Ⓣ][1]
|
<a href="#_isequala-b">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1203 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Performs a deep comparison between two values to determine if they are equivalent to each other.
|
Performs a deep comparison between two values to determine if they are equivalent to each other.
|
||||||
|
|
||||||
@@ -2237,7 +2241,7 @@ _.isEqual(moe, clone);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isfinitevalue"></a>`_.isFinite(value)`
|
### <a id="_isfinitevalue"></a>`_.isFinite(value)`
|
||||||
<a href="#_isfinitevalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1362 "View in source") [Ⓣ][1]
|
<a href="#_isfinitevalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1365 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is, or can be coerced to, a finite number. Note: This is not the same as native `isFinite`, which will return true for booleans and empty strings. See http://es5.github.com/#x15.1.2.5.
|
Checks if `value` is, or can be coerced to, a finite number. Note: This is not the same as native `isFinite`, which will return true for booleans and empty strings. See http://es5.github.com/#x15.1.2.5.
|
||||||
|
|
||||||
@@ -2273,7 +2277,7 @@ _.isFinite(Infinity);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isfunctionvalue"></a>`_.isFunction(value)`
|
### <a id="_isfunctionvalue"></a>`_.isFunction(value)`
|
||||||
<a href="#_isfunctionvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1379 "View in source") [Ⓣ][1]
|
<a href="#_isfunctionvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1382 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is a function.
|
Checks if `value` is a function.
|
||||||
|
|
||||||
@@ -2297,7 +2301,7 @@ _.isFunction(_);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isnanvalue"></a>`_.isNaN(value)`
|
### <a id="_isnanvalue"></a>`_.isNaN(value)`
|
||||||
<a href="#_isnanvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1443 "View in source") [Ⓣ][1]
|
<a href="#_isnanvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1446 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is `NaN`. Note: This is not the same as native `isNaN`, which will return true for `undefined` and other values. See http://es5.github.com/#x15.1.2.4.
|
Checks if `value` is `NaN`. Note: This is not the same as native `isNaN`, which will return true for `undefined` and other values. See http://es5.github.com/#x15.1.2.4.
|
||||||
|
|
||||||
@@ -2330,7 +2334,7 @@ _.isNaN(undefined);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isnullvalue"></a>`_.isNull(value)`
|
### <a id="_isnullvalue"></a>`_.isNull(value)`
|
||||||
<a href="#_isnullvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1466 "View in source") [Ⓣ][1]
|
<a href="#_isnullvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1469 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is `null`.
|
Checks if `value` is `null`.
|
||||||
|
|
||||||
@@ -2357,7 +2361,7 @@ _.isNull(undefined);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isnumbervalue"></a>`_.isNumber(value)`
|
### <a id="_isnumbervalue"></a>`_.isNumber(value)`
|
||||||
<a href="#_isnumbervalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1483 "View in source") [Ⓣ][1]
|
<a href="#_isnumbervalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1486 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is a number.
|
Checks if `value` is a number.
|
||||||
|
|
||||||
@@ -2381,7 +2385,7 @@ _.isNumber(8.4 * 5);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isobjectvalue"></a>`_.isObject(value)`
|
### <a id="_isobjectvalue"></a>`_.isObject(value)`
|
||||||
<a href="#_isobjectvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1409 "View in source") [Ⓣ][1]
|
<a href="#_isobjectvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1412 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is the language type of Object. *(e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)*
|
Checks if `value` is the language type of Object. *(e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)*
|
||||||
|
|
||||||
@@ -2411,7 +2415,7 @@ _.isObject(1);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isplainobjectvalue"></a>`_.isPlainObject(value)`
|
### <a id="_isplainobjectvalue"></a>`_.isPlainObject(value)`
|
||||||
<a href="#_isplainobjectvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1511 "View in source") [Ⓣ][1]
|
<a href="#_isplainobjectvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1514 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if a given `value` is an object created by the `Object` constructor.
|
Checks if a given `value` is an object created by the `Object` constructor.
|
||||||
|
|
||||||
@@ -2446,7 +2450,7 @@ _.isPlainObject({ 'name': 'moe', 'age': 40 });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isregexpvalue"></a>`_.isRegExp(value)`
|
### <a id="_isregexpvalue"></a>`_.isRegExp(value)`
|
||||||
<a href="#_isregexpvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1536 "View in source") [Ⓣ][1]
|
<a href="#_isregexpvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1539 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is a regular expression.
|
Checks if `value` is a regular expression.
|
||||||
|
|
||||||
@@ -2470,7 +2474,7 @@ _.isRegExp(/moe/);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isstringvalue"></a>`_.isString(value)`
|
### <a id="_isstringvalue"></a>`_.isString(value)`
|
||||||
<a href="#_isstringvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1553 "View in source") [Ⓣ][1]
|
<a href="#_isstringvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1556 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is a string.
|
Checks if `value` is a string.
|
||||||
|
|
||||||
@@ -2494,7 +2498,7 @@ _.isString('moe');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_isundefinedvalue"></a>`_.isUndefined(value)`
|
### <a id="_isundefinedvalue"></a>`_.isUndefined(value)`
|
||||||
<a href="#_isundefinedvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1571 "View in source") [Ⓣ][1]
|
<a href="#_isundefinedvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1574 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Checks if `value` is `undefined`.
|
Checks if `value` is `undefined`.
|
||||||
|
|
||||||
@@ -2518,7 +2522,7 @@ _.isUndefined(void 0);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_keysobject"></a>`_.keys(object)`
|
### <a id="_keysobject"></a>`_.keys(object)`
|
||||||
<a href="#_keysobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1588 "View in source") [Ⓣ][1]
|
<a href="#_keysobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1591 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an array composed of the own enumerable property names of `object`.
|
Creates an array composed of the own enumerable property names of `object`.
|
||||||
|
|
||||||
@@ -2542,7 +2546,7 @@ _.keys({ 'one': 1, 'two': 2, 'three': 3 });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_mergeobject--source1-source2-"></a>`_.merge(object [, source1, source2, ...])`
|
### <a id="_mergeobject--source1-source2-"></a>`_.merge(object [, source1, source2, ...])`
|
||||||
<a href="#_mergeobject--source1-source2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1626 "View in source") [Ⓣ][1]
|
<a href="#_mergeobject--source1-source2-">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1629 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Merges enumerable properties of the source object(s) into the `destination` object. Subsequent sources will overwrite propery assignments of previous sources.
|
Merges enumerable properties of the source object(s) into the `destination` object. Subsequent sources will overwrite propery assignments of previous sources.
|
||||||
|
|
||||||
@@ -2577,7 +2581,7 @@ _.merge(stooges, ages);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_omitobject-callback-prop1-prop2--thisarg"></a>`_.omit(object, callback|[prop1, prop2, ..., thisArg])`
|
### <a id="_omitobject-callback-prop1-prop2--thisarg"></a>`_.omit(object, callback|[prop1, prop2, ..., thisArg])`
|
||||||
<a href="#_omitobject-callback-prop1-prop2--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1696 "View in source") [Ⓣ][1]
|
<a href="#_omitobject-callback-prop1-prop2--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1703 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a shallow clone of `object` excluding the specified properties. Property names may be specified as individual arguments or as arrays of property names. If `callback` is passed, it will be executed for each property in the `object`, omitting the properties `callback` returns truthy for. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, key, object)*.
|
Creates a shallow clone of `object` excluding the specified properties. Property names may be specified as individual arguments or as arrays of property names. If `callback` is passed, it will be executed for each property in the `object`, omitting the properties `callback` returns truthy for. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, key, object)*.
|
||||||
|
|
||||||
@@ -2608,7 +2612,7 @@ _.omit({ 'name': 'moe', '_hint': 'knucklehead', '_seed': '96c4eb' }, function(va
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_pairsobject"></a>`_.pairs(object)`
|
### <a id="_pairsobject"></a>`_.pairs(object)`
|
||||||
<a href="#_pairsobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1730 "View in source") [Ⓣ][1]
|
<a href="#_pairsobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1737 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a two dimensional array of the given object's key-value pairs, i.e. `[[key1, value1], [key2, value2]]`.
|
Creates a two dimensional array of the given object's key-value pairs, i.e. `[[key1, value1], [key2, value2]]`.
|
||||||
|
|
||||||
@@ -2632,7 +2636,7 @@ _.pairs({ 'moe': 30, 'larry': 40, 'curly': 50 });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_pickobject-callback-prop1-prop2--thisarg"></a>`_.pick(object, callback|[prop1, prop2, ..., thisArg])`
|
### <a id="_pickobject-callback-prop1-prop2--thisarg"></a>`_.pick(object, callback|[prop1, prop2, ..., thisArg])`
|
||||||
<a href="#_pickobject-callback-prop1-prop2--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1763 "View in source") [Ⓣ][1]
|
<a href="#_pickobject-callback-prop1-prop2--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1770 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates a shallow clone of `object` composed of the specified properties. Property names may be specified as individual arguments or as arrays of property names. If `callback` is passed, it will be executed for each property in the `object`, picking the properties `callback` returns truthy for. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, key, object)*.
|
Creates a shallow clone of `object` composed of the specified properties. Property names may be specified as individual arguments or as arrays of property names. If `callback` is passed, it will be executed for each property in the `object`, picking the properties `callback` returns truthy for. The `callback` is bound to `thisArg` and invoked with three arguments; *(value, key, object)*.
|
||||||
|
|
||||||
@@ -2663,7 +2667,7 @@ _.pick({ 'name': 'moe', '_hint': 'knucklehead', '_seed': '96c4eb' }, function(va
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_valuesobject"></a>`_.values(object)`
|
### <a id="_valuesobject"></a>`_.values(object)`
|
||||||
<a href="#_valuesobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1800 "View in source") [Ⓣ][1]
|
<a href="#_valuesobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L1807 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Creates an array composed of the own enumerable property values of `object`.
|
Creates an array composed of the own enumerable property values of `object`.
|
||||||
|
|
||||||
@@ -2694,7 +2698,7 @@ _.values({ 'one': 1, 'two': 2, 'three': 3 });
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_escapestring"></a>`_.escape(string)`
|
### <a id="_escapestring"></a>`_.escape(string)`
|
||||||
<a href="#_escapestring">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3565 "View in source") [Ⓣ][1]
|
<a href="#_escapestring">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3588 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their corresponding HTML entities.
|
Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their corresponding HTML entities.
|
||||||
|
|
||||||
@@ -2718,7 +2722,7 @@ _.escape('Moe, Larry & Curly');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_identityvalue"></a>`_.identity(value)`
|
### <a id="_identityvalue"></a>`_.identity(value)`
|
||||||
<a href="#_identityvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3585 "View in source") [Ⓣ][1]
|
<a href="#_identityvalue">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3608 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
This function returns the first argument passed to it. Note: It is used throughout Lo-Dash as a default callback.
|
This function returns the first argument passed to it. Note: It is used throughout Lo-Dash as a default callback.
|
||||||
|
|
||||||
@@ -2743,7 +2747,7 @@ moe === _.identity(moe);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_mixinobject"></a>`_.mixin(object)`
|
### <a id="_mixinobject"></a>`_.mixin(object)`
|
||||||
<a href="#_mixinobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3611 "View in source") [Ⓣ][1]
|
<a href="#_mixinobject">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3634 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Adds functions properties of `object` to the `lodash` function and chainable wrapper.
|
Adds functions properties of `object` to the `lodash` function and chainable wrapper.
|
||||||
|
|
||||||
@@ -2773,7 +2777,7 @@ _('curly').capitalize();
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_noconflict"></a>`_.noConflict()`
|
### <a id="_noconflict"></a>`_.noConflict()`
|
||||||
<a href="#_noconflict">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3641 "View in source") [Ⓣ][1]
|
<a href="#_noconflict">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3664 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Reverts the '_' variable to its previous value and returns a reference to the `lodash` function.
|
Reverts the '_' variable to its previous value and returns a reference to the `lodash` function.
|
||||||
|
|
||||||
@@ -2793,7 +2797,7 @@ var lodash = _.noConflict();
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_randommin0-max1"></a>`_.random([min=0, max=1])`
|
### <a id="_randommin0-max1"></a>`_.random([min=0, max=1])`
|
||||||
<a href="#_randommin0-max1">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3664 "View in source") [Ⓣ][1]
|
<a href="#_randommin0-max1">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3687 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Produces a random number between `min` and `max` *(inclusive)*. If only one argument is passed, a number between `0` and the given number will be returned.
|
Produces a random number between `min` and `max` *(inclusive)*. If only one argument is passed, a number between `0` and the given number will be returned.
|
||||||
|
|
||||||
@@ -2821,7 +2825,7 @@ _.random(5);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_resultobject-property"></a>`_.result(object, property)`
|
### <a id="_resultobject-property"></a>`_.result(object, property)`
|
||||||
<a href="#_resultobject-property">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3703 "View in source") [Ⓣ][1]
|
<a href="#_resultobject-property">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3726 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Resolves the value of `property` on `object`. If `property` is a function it will be invoked and its result returned, else the property value is returned. If `object` is falsey, then `null` is returned.
|
Resolves the value of `property` on `object`. If `property` is a function it will be invoked and its result returned, else the property value is returned. If `object` is falsey, then `null` is returned.
|
||||||
|
|
||||||
@@ -2856,7 +2860,7 @@ _.result(object, 'stuff');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_templatetext-data-options"></a>`_.template(text, data, options)`
|
### <a id="_templatetext-data-options"></a>`_.template(text, data, options)`
|
||||||
<a href="#_templatetext-data-options">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3788 "View in source") [Ⓣ][1]
|
<a href="#_templatetext-data-options">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3811 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
A micro-templating method that handles arbitrary delimiters, preserves whitespace, and correctly escapes quotes within interpolated code. Note: In the development build `_.template` utilizes sourceURLs for easier debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl Note: Lo-Dash may be used in Chrome extensions by either creating a `lodash csp` build and avoiding `_.template` use, or loading Lo-Dash in a sandboxed page. See http://developer.chrome.com/trunk/extensions/sandboxingEval.html
|
A micro-templating method that handles arbitrary delimiters, preserves whitespace, and correctly escapes quotes within interpolated code. Note: In the development build `_.template` utilizes sourceURLs for easier debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl Note: Lo-Dash may be used in Chrome extensions by either creating a `lodash csp` build and avoiding `_.template` use, or loading Lo-Dash in a sandboxed page. See http://developer.chrome.com/trunk/extensions/sandboxingEval.html
|
||||||
|
|
||||||
@@ -2930,7 +2934,7 @@ fs.writeFileSync(path.join(cwd, 'jst.js'), '\
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_timesn-callback--thisarg"></a>`_.times(n, callback [, thisArg])`
|
### <a id="_timesn-callback--thisarg"></a>`_.times(n, callback [, thisArg])`
|
||||||
<a href="#_timesn-callback--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3911 "View in source") [Ⓣ][1]
|
<a href="#_timesn-callback--thisarg">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3934 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Executes the `callback` function `n` times, returning an array of the results of each `callback` execution. The `callback` is bound to `thisArg` and invoked with one argument; *(index)*.
|
Executes the `callback` function `n` times, returning an array of the results of each `callback` execution. The `callback` is bound to `thisArg` and invoked with one argument; *(index)*.
|
||||||
|
|
||||||
@@ -2962,7 +2966,7 @@ _.times(3, function(n) { this.cast(n); }, mage);
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_unescapestring"></a>`_.unescape(string)`
|
### <a id="_unescapestring"></a>`_.unescape(string)`
|
||||||
<a href="#_unescapestring">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3937 "View in source") [Ⓣ][1]
|
<a href="#_unescapestring">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3960 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
The opposite of `_.escape`, this method converts the HTML entities `&`, `<`, `>`, `"`, and `'` in `string` to their corresponding characters.
|
The opposite of `_.escape`, this method converts the HTML entities `&`, `<`, `>`, `"`, and `'` in `string` to their corresponding characters.
|
||||||
|
|
||||||
@@ -2986,7 +2990,7 @@ _.unescape('Moe, Larry & Curly');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_uniqueidprefix"></a>`_.uniqueId([prefix])`
|
### <a id="_uniqueidprefix"></a>`_.uniqueId([prefix])`
|
||||||
<a href="#_uniqueidprefix">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3955 "View in source") [Ⓣ][1]
|
<a href="#_uniqueidprefix">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L3978 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
Generates a unique id. If `prefix` is passed, the id will be appended to it.
|
Generates a unique id. If `prefix` is passed, the id will be appended to it.
|
||||||
|
|
||||||
@@ -3017,7 +3021,7 @@ _.uniqueId('contact_');
|
|||||||
<!-- div -->
|
<!-- div -->
|
||||||
|
|
||||||
### <a id="_version"></a>`_.VERSION`
|
### <a id="_version"></a>`_.VERSION`
|
||||||
<a href="#_version">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L4060 "View in source") [Ⓣ][1]
|
<a href="#_version">#</a> [Ⓢ](https://github.com/bestiejs/lodash/blob/master/lodash.js#L4083 "View in source") [Ⓣ][1]
|
||||||
|
|
||||||
*(String)*: The semantic version number.
|
*(String)*: The semantic version number.
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
// generate Markdown
|
// generate Markdown
|
||||||
$markdown = docdown(array(
|
$markdown = docdown(array(
|
||||||
'path' => '../' . $file,
|
'path' => '../' . $file,
|
||||||
'title' => 'Lo-Dash <sup>v0.9.2</sup>',
|
'title' => 'Lo-Dash <sup>v0.10.0</sup>',
|
||||||
'toc' => 'categories',
|
'toc' => 'categories',
|
||||||
'url' => 'https://github.com/bestiejs/lodash/blob/master/lodash.js'
|
'url' => 'https://github.com/bestiejs/lodash/blob/master/lodash.js'
|
||||||
));
|
));
|
||||||
|
|||||||
214
lodash.js
214
lodash.js
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* Lo-Dash v0.9.2 <http://lodash.com>
|
* Lo-Dash 0.10.0 <http://lodash.com>
|
||||||
* (c) 2012 John-David Dalton <http://allyoucanleet.com/>
|
* (c) 2012 John-David Dalton <http://allyoucanleet.com/>
|
||||||
* Based on Underscore.js 1.4.2 <http://underscorejs.org>
|
* Based on Underscore.js 1.4.2 <http://underscorejs.org>
|
||||||
* (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
|
* (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
|
||||||
@@ -417,6 +417,16 @@
|
|||||||
'return result'
|
'return result'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/** Reusable iterator options for `assign` and `defaults` */
|
||||||
|
var assignIteratorOptions = {
|
||||||
|
'args': 'object, source, guard',
|
||||||
|
'top':
|
||||||
|
'for (var argsIndex = 1, argsLength = typeof guard == \'number\' ? 2 : arguments.length; argsIndex < argsLength; argsIndex++) {\n' +
|
||||||
|
' if ((iteratee = arguments[argsIndex])) {',
|
||||||
|
'objectLoop': 'result[index] = value',
|
||||||
|
'bottom': ' }\n}'
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reusable iterator options shared by `forEach`, `forIn`, and `forOwn`.
|
* Reusable iterator options shared by `forEach`, `forIn`, and `forOwn`.
|
||||||
*/
|
*/
|
||||||
@@ -427,17 +437,6 @@
|
|||||||
'objectLoop': 'if (callback(value, index, collection) === false) return result'
|
'objectLoop': 'if (callback(value, index, collection) === false) return result'
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Reusable iterator options for `defaults`, and `extend` */
|
|
||||||
var extendIteratorOptions = {
|
|
||||||
'useHas': false,
|
|
||||||
'args': 'object',
|
|
||||||
'top':
|
|
||||||
'for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {\n' +
|
|
||||||
' if (iteratee = arguments[argsIndex]) {',
|
|
||||||
'objectLoop': 'result[index] = value',
|
|
||||||
'bottom': ' }\n}'
|
|
||||||
};
|
|
||||||
|
|
||||||
/** Reusable iterator options for `forIn` and `forOwn` */
|
/** Reusable iterator options for `forIn` and `forOwn` */
|
||||||
var forOwnIteratorOptions = {
|
var forOwnIteratorOptions = {
|
||||||
'arrayLoop': null
|
'arrayLoop': null
|
||||||
@@ -537,12 +536,15 @@
|
|||||||
function createBound(func, thisArg, partialArgs) {
|
function createBound(func, thisArg, partialArgs) {
|
||||||
var isFunc = isFunction(func),
|
var isFunc = isFunction(func),
|
||||||
isPartial = !partialArgs,
|
isPartial = !partialArgs,
|
||||||
methodName = func;
|
key = thisArg;
|
||||||
|
|
||||||
// juggle arguments
|
// juggle arguments
|
||||||
if (isPartial) {
|
if (isPartial) {
|
||||||
partialArgs = thisArg;
|
partialArgs = thisArg;
|
||||||
}
|
}
|
||||||
|
if (!isFunc) {
|
||||||
|
thisArg = func;
|
||||||
|
}
|
||||||
|
|
||||||
function bound() {
|
function bound() {
|
||||||
// `Function#bind` spec
|
// `Function#bind` spec
|
||||||
@@ -551,7 +553,7 @@
|
|||||||
thisBinding = isPartial ? this : thisArg;
|
thisBinding = isPartial ? this : thisArg;
|
||||||
|
|
||||||
if (!isFunc) {
|
if (!isFunc) {
|
||||||
func = thisArg[methodName];
|
func = thisArg[key];
|
||||||
}
|
}
|
||||||
if (partialArgs.length) {
|
if (partialArgs.length) {
|
||||||
args = args.length
|
args = args.length
|
||||||
@@ -697,6 +699,25 @@
|
|||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assigns own enumerable properties of source object(s) to the `destination`
|
||||||
|
* object. Subsequent sources will overwrite propery assignments of previous
|
||||||
|
* sources.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @alias extend
|
||||||
|
* @category Objects
|
||||||
|
* @param {Object} object The destination object.
|
||||||
|
* @param {Object} [source1, source2, ...] The source objects.
|
||||||
|
* @returns {Object} Returns the destination object.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* _.assign({ 'name': 'moe' }, { 'age': 40 });
|
||||||
|
* // => { 'name': 'moe', 'age': 40 }
|
||||||
|
*/
|
||||||
|
var assign = createIterator(assignIteratorOptions);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if `value` is an `arguments` object.
|
* Checks if `value` is an `arguments` object.
|
||||||
*
|
*
|
||||||
@@ -756,7 +777,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Iterates over `object`'s own enumerable properties, executing the `callback`
|
* Iterates over an object's own enumerable properties, executing the `callback`
|
||||||
* for each property. The `callback` is bound to `thisArg` and invoked with three
|
* for each property. The `callback` is bound to `thisArg` and invoked with three
|
||||||
* arguments; (value, key, object). Callbacks may exit iteration early by explicitly
|
* arguments; (value, key, object). Callbacks may exit iteration early by explicitly
|
||||||
* returning `false`.
|
* returning `false`.
|
||||||
@@ -915,7 +936,7 @@
|
|||||||
if (!isObj || !deep) {
|
if (!isObj || !deep) {
|
||||||
// don't clone functions
|
// don't clone functions
|
||||||
return isObj
|
return isObj
|
||||||
? (isArr ? slice.call(value) : extend({}, value))
|
? (isArr ? slice.call(value) : assign({}, value))
|
||||||
: value;
|
: value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -959,7 +980,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assigns enumerable properties of the default object(s) to the `destination`
|
* Assigns own enumerable properties of source object(s) to the `destination`
|
||||||
* object for all `destination` properties that resolve to `null`/`undefined`.
|
* object for all `destination` properties that resolve to `null`/`undefined`.
|
||||||
* Once a property is set, additional defaults of the same property will be
|
* Once a property is set, additional defaults of the same property will be
|
||||||
* ignored.
|
* ignored.
|
||||||
@@ -976,28 +997,10 @@
|
|||||||
* _.defaults(iceCream, { 'flavor': 'vanilla', 'sprinkles': 'rainbow' });
|
* _.defaults(iceCream, { 'flavor': 'vanilla', 'sprinkles': 'rainbow' });
|
||||||
* // => { 'flavor': 'chocolate', 'sprinkles': 'rainbow' }
|
* // => { 'flavor': 'chocolate', 'sprinkles': 'rainbow' }
|
||||||
*/
|
*/
|
||||||
var defaults = createIterator(extendIteratorOptions, {
|
var defaults = createIterator(assignIteratorOptions, {
|
||||||
'objectLoop': 'if (result[index] == null) ' + extendIteratorOptions.objectLoop
|
'objectLoop': 'if (result[index] == null) ' + assignIteratorOptions.objectLoop
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
|
||||||
* Assigns enumerable properties of the source object(s) to the `destination`
|
|
||||||
* object. Subsequent sources will overwrite propery assignments of previous
|
|
||||||
* sources.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
* @memberOf _
|
|
||||||
* @category Objects
|
|
||||||
* @param {Object} object The destination object.
|
|
||||||
* @param {Object} [source1, source2, ...] The source objects.
|
|
||||||
* @returns {Object} Returns the destination object.
|
|
||||||
* @example
|
|
||||||
*
|
|
||||||
* _.extend({ 'name': 'moe' }, { 'age': 40 });
|
|
||||||
* // => { 'name': 'moe', 'age': 40 }
|
|
||||||
*/
|
|
||||||
var extend = createIterator(extendIteratorOptions);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a sorted array of all enumerable properties, own and inherited,
|
* Creates a sorted array of all enumerable properties, own and inherited,
|
||||||
* of `object` that have function values.
|
* of `object` that have function values.
|
||||||
@@ -1630,10 +1633,14 @@
|
|||||||
stackA = args[3],
|
stackA = args[3],
|
||||||
stackB = args[4];
|
stackB = args[4];
|
||||||
|
|
||||||
if (indicator !== objectRef) {
|
if (indicator !== indicatorObject) {
|
||||||
stackA = [];
|
stackA = [];
|
||||||
stackB = [];
|
stackB = [];
|
||||||
length = args.length;
|
|
||||||
|
// work with `_.reduce` by only using its callback `accumulator` and `value` arguments
|
||||||
|
if (typeof indicator != 'number') {
|
||||||
|
length = args.length;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
while (++index < length) {
|
while (++index < length) {
|
||||||
forOwn(args[index], function(source, key) {
|
forOwn(args[index], function(source, key) {
|
||||||
@@ -1658,7 +1665,7 @@
|
|||||||
: (isPlainObject(value) ? value : {})
|
: (isPlainObject(value) ? value : {})
|
||||||
);
|
);
|
||||||
// recursively merge objects and arrays (susceptible to call stack limits)
|
// recursively merge objects and arrays (susceptible to call stack limits)
|
||||||
object[key] = merge(value, source, objectRef, stackA, stackB);
|
object[key] = merge(value, source, indicatorObject, stackA, stackB);
|
||||||
}
|
}
|
||||||
} else if (source != null) {
|
} else if (source != null) {
|
||||||
object[key] = source;
|
object[key] = source;
|
||||||
@@ -1836,18 +1843,23 @@
|
|||||||
*/
|
*/
|
||||||
function contains(collection, target, fromIndex) {
|
function contains(collection, target, fromIndex) {
|
||||||
var index = -1,
|
var index = -1,
|
||||||
length = collection ? collection.length : 0;
|
length = collection ? collection.length : 0,
|
||||||
|
result = false;
|
||||||
|
|
||||||
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0;
|
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0;
|
||||||
if (typeof length == 'number') {
|
if (typeof length == 'number') {
|
||||||
return (isString(collection)
|
result = (isString(collection)
|
||||||
? collection.indexOf(target, fromIndex)
|
? collection.indexOf(target, fromIndex)
|
||||||
: indexOf(collection, target, fromIndex)
|
: indexOf(collection, target, fromIndex)
|
||||||
) > -1;
|
) > -1;
|
||||||
|
} else {
|
||||||
|
forEach(collection, function(value) {
|
||||||
|
if (++index >= fromIndex) {
|
||||||
|
return !(result = value === target);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
return some(collection, function(value) {
|
return result;
|
||||||
return ++index >= fromIndex && value === target;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1947,11 +1959,24 @@
|
|||||||
function filter(collection, callback, thisArg) {
|
function filter(collection, callback, thisArg) {
|
||||||
var result = [];
|
var result = [];
|
||||||
callback = createCallback(callback, thisArg);
|
callback = createCallback(callback, thisArg);
|
||||||
forEach(collection, function(value, index, collection) {
|
|
||||||
if (callback(value, index, collection)) {
|
if (isArray(collection)) {
|
||||||
result.push(value);
|
var index = -1,
|
||||||
|
length = collection.length;
|
||||||
|
|
||||||
|
while (++index < length) {
|
||||||
|
var value = collection[index];
|
||||||
|
if (callback(value, index, collection)) {
|
||||||
|
result.push(value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
} else {
|
||||||
|
forEach(collection, function(value, index, collection) {
|
||||||
|
if (callback(value, index, collection)) {
|
||||||
|
result.push(value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2407,7 +2432,7 @@
|
|||||||
* else `false`.
|
* else `false`.
|
||||||
* @example
|
* @example
|
||||||
*
|
*
|
||||||
* _.some([null, 0, 'yes', false]);
|
* _.some([null, 0, 'yes', false], Boolean);
|
||||||
* // => true
|
* // => true
|
||||||
*/
|
*/
|
||||||
function some(collection, callback, thisArg) {
|
function some(collection, callback, thisArg) {
|
||||||
@@ -2419,7 +2444,7 @@
|
|||||||
length = collection.length;
|
length = collection.length;
|
||||||
|
|
||||||
while (++index < length) {
|
while (++index < length) {
|
||||||
if (result = callback(collection[index], index, collection)) {
|
if ((result = callback(collection[index], index, collection))) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2519,10 +2544,7 @@
|
|||||||
* // => [{ 'name': 'moe', 'age': 40 }]
|
* // => [{ 'name': 'moe', 'age': 40 }]
|
||||||
*/
|
*/
|
||||||
function where(collection, properties) {
|
function where(collection, properties) {
|
||||||
var props = [];
|
var props = keys(properties);
|
||||||
forIn(properties, function(value, prop) {
|
|
||||||
props.push(prop);
|
|
||||||
});
|
|
||||||
return filter(collection, function(object) {
|
return filter(collection, function(object) {
|
||||||
var length = props.length;
|
var length = props.length;
|
||||||
while (length--) {
|
while (length--) {
|
||||||
@@ -3225,6 +3247,44 @@
|
|||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a function that, when called, invokes the method at `object[key]`
|
||||||
|
* and prepends any additional `bindKey` arguments to those passed to the bound
|
||||||
|
* function. This method differs from `_.bind` by allowing bound functions to
|
||||||
|
* reference methods that will be redefined or don't yet exist.
|
||||||
|
* See http://michaux.ca/articles/lazy-function-definition-pattern.
|
||||||
|
*
|
||||||
|
* @static
|
||||||
|
* @memberOf _
|
||||||
|
* @category Functions
|
||||||
|
* @param {Object} object The object the method belongs to.
|
||||||
|
* @param {String} key The key of the method.
|
||||||
|
* @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied.
|
||||||
|
* @returns {Function} Returns the new bound function.
|
||||||
|
* @example
|
||||||
|
*
|
||||||
|
* var object = {
|
||||||
|
* 'name': 'moe',
|
||||||
|
* 'greet': function(greeting) {
|
||||||
|
* return greeting + ' ' + this.name;
|
||||||
|
* }
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* var func = _.bindKey(object, 'greet', 'hi');
|
||||||
|
* func();
|
||||||
|
* // => 'hi moe'
|
||||||
|
*
|
||||||
|
* object.greet = function(greeting) {
|
||||||
|
* return greeting + ', ' + this.name + '!';
|
||||||
|
* };
|
||||||
|
*
|
||||||
|
* func();
|
||||||
|
* // => 'hi, moe!'
|
||||||
|
*/
|
||||||
|
function bindKey(object, key) {
|
||||||
|
return createBound(object, key, slice.call(arguments, 2));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a function that is the composition of the passed functions,
|
* Creates a function that is the composition of the passed functions,
|
||||||
* where each function consumes the return value of the function that follows.
|
* where each function consumes the return value of the function that follows.
|
||||||
@@ -3346,43 +3406,6 @@
|
|||||||
return setTimeout(function() { func.apply(undefined, args); }, 1);
|
return setTimeout(function() { func.apply(undefined, args); }, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a function that, when called, invokes `object[methodName]` and
|
|
||||||
* prepends any additional `lateBind` arguments to those passed to the bound
|
|
||||||
* function. This method differs from `_.bind` by allowing bound functions to
|
|
||||||
* reference methods that will be redefined or don't yet exist.
|
|
||||||
*
|
|
||||||
* @static
|
|
||||||
* @memberOf _
|
|
||||||
* @category Functions
|
|
||||||
* @param {Object} object The object the method belongs to.
|
|
||||||
* @param {String} methodName The method name.
|
|
||||||
* @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied.
|
|
||||||
* @returns {Function} Returns the new bound function.
|
|
||||||
* @example
|
|
||||||
*
|
|
||||||
* var object = {
|
|
||||||
* 'name': 'moe',
|
|
||||||
* 'greet': function(greeting) {
|
|
||||||
* return greeting + ' ' + this.name;
|
|
||||||
* }
|
|
||||||
* };
|
|
||||||
*
|
|
||||||
* var func = _.lateBind(object, 'greet', 'hi');
|
|
||||||
* func();
|
|
||||||
* // => 'hi moe'
|
|
||||||
*
|
|
||||||
* object.greet = function(greeting) {
|
|
||||||
* return greeting + ', ' + this.name + '!';
|
|
||||||
* };
|
|
||||||
*
|
|
||||||
* func();
|
|
||||||
* // => 'hi, moe!'
|
|
||||||
*/
|
|
||||||
function lateBind(object, methodName) {
|
|
||||||
return createBound(methodName, object, slice.call(arguments, 2));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a function that memoizes the result of `func`. If `resolver` is
|
* Creates a function that memoizes the result of `func`. If `resolver` is
|
||||||
* passed, it will be used to determine the cache key for storing the result
|
* passed, it will be used to determine the cache key for storing the result
|
||||||
@@ -4057,12 +4080,14 @@
|
|||||||
* @memberOf _
|
* @memberOf _
|
||||||
* @type String
|
* @type String
|
||||||
*/
|
*/
|
||||||
lodash.VERSION = '0.9.2';
|
lodash.VERSION = '0.10.0';
|
||||||
|
|
||||||
// assign static methods
|
// assign static methods
|
||||||
|
lodash.assign = assign;
|
||||||
lodash.after = after;
|
lodash.after = after;
|
||||||
lodash.bind = bind;
|
lodash.bind = bind;
|
||||||
lodash.bindAll = bindAll;
|
lodash.bindAll = bindAll;
|
||||||
|
lodash.bindKey = bindKey;
|
||||||
lodash.chain = chain;
|
lodash.chain = chain;
|
||||||
lodash.clone = clone;
|
lodash.clone = clone;
|
||||||
lodash.compact = compact;
|
lodash.compact = compact;
|
||||||
@@ -4076,7 +4101,6 @@
|
|||||||
lodash.difference = difference;
|
lodash.difference = difference;
|
||||||
lodash.escape = escape;
|
lodash.escape = escape;
|
||||||
lodash.every = every;
|
lodash.every = every;
|
||||||
lodash.extend = extend;
|
|
||||||
lodash.filter = filter;
|
lodash.filter = filter;
|
||||||
lodash.find = find;
|
lodash.find = find;
|
||||||
lodash.first = first;
|
lodash.first = first;
|
||||||
@@ -4113,7 +4137,6 @@
|
|||||||
lodash.keys = keys;
|
lodash.keys = keys;
|
||||||
lodash.last = last;
|
lodash.last = last;
|
||||||
lodash.lastIndexOf = lastIndexOf;
|
lodash.lastIndexOf = lastIndexOf;
|
||||||
lodash.lateBind = lateBind;
|
|
||||||
lodash.map = map;
|
lodash.map = map;
|
||||||
lodash.max = max;
|
lodash.max = max;
|
||||||
lodash.memoize = memoize;
|
lodash.memoize = memoize;
|
||||||
@@ -4162,6 +4185,7 @@
|
|||||||
lodash.detect = find;
|
lodash.detect = find;
|
||||||
lodash.drop = rest;
|
lodash.drop = rest;
|
||||||
lodash.each = forEach;
|
lodash.each = forEach;
|
||||||
|
lodash.extend = assign;
|
||||||
lodash.foldl = reduce;
|
lodash.foldl = reduce;
|
||||||
lodash.foldr = reduceRight;
|
lodash.foldr = reduceRight;
|
||||||
lodash.head = first;
|
lodash.head = first;
|
||||||
|
|||||||
74
lodash.min.js
vendored
74
lodash.min.js
vendored
@@ -1,40 +1,40 @@
|
|||||||
/*!
|
/*!
|
||||||
Lo-Dash 0.9.2 lodash.com/license
|
Lo-Dash 0.10.0 lodash.com/license
|
||||||
Underscore.js 1.4.2 underscorejs.org/LICENSE
|
Underscore.js 1.4.2 underscorejs.org/LICENSE
|
||||||
*/
|
*/
|
||||||
;(function(e,t){function s(e){if(e&&e.__wrapped__)return e;if(!(this instanceof s))return new s(e);this.__wrapped__=e}function o(e,t,n){t||(t=0);var r=e.length,i=r-t>=(n||Y);if(i)for(var s={},n=t-1;++n<r;){var o=e[n]+"";(yt.call(s,o)?s[o]:s[o]=[]).push(e[n])}return function(n){if(i){var r=n+"";return yt.call(s,r)&&-1<q(s[r],n)}return-1<q(e,n,t)}}function u(e){return e.charCodeAt(0)}function a(e,n){var r=e.b,i=n.b,e=e.a,n=n.a;if(e!==n){if(e>n||e===t)return 1;if(e<n||n===t)return-1}return r<i?-1:1}function f
|
;(function(e,t){function s(e){if(e&&e.__wrapped__)return e;if(!(this instanceof s))return new s(e);this.__wrapped__=e}function o(e,t,n){t||(t=0);var r=e.length,i=r-t>=(n||Z);if(i)for(var s={},n=t-1;++n<r;){var o=e[n]+"";(bt.call(s,o)?s[o]:s[o]=[]).push(e[n])}return function(n){if(i){var r=n+"";return bt.call(s,r)&&-1<q(s[r],n)}return-1<q(e,n,t)}}function u(e){return e.charCodeAt(0)}function a(e,n){var r=e.b,i=n.b,e=e.a,n=n.a;if(e!==n){if(e>n||e===t)return 1;if(e<n||n===t)return-1}return r<i?-1:1}function f
|
||||||
(e,t,n){function r(){var u=arguments,a=s?this:t;return i||(e=t[o]),n.length&&(u=u.length?n.concat(Et.call(u)):n),this instanceof r?(d.prototype=e.prototype,a=new d,u=e.apply(a,u),T(u)?u:a):e.apply(a,u)}var i=x(e),s=!n,o=e;return s&&(n=t),r}function l(e,n){return e?"function"!=typeof e?function(t){return t[e]}:n!==t?function(t,r,i){return e.call(n,t,r,i)}:e:X}function c(){for(var e={b:"",c:"",e:It,f:Kt,g:"",h:Ut,i:Xt,j:pt,k:"",l:n},t,r=0;t=arguments[r];r++)for(var i in t)e[i]=t[i];t=e.a,e.d=/^[^,]+/
|
(e,t,n){function r(){var u=arguments,a=s?this:t;return i||(e=t[o]),n.length&&(u=u.length?n.concat(St.call(u)):n),this instanceof r?(d.prototype=e.prototype,a=new d,u=e.apply(a,u),T(u)?u:a):e.apply(a,u)}var i=x(e),s=!n,o=t;return s&&(n=t),i||(t=e),r}function l(e,n){return e?"function"!=typeof e?function(t){return t[e]}:n!==t?function(t,r,i){return e.call(n,t,r,i)}:e:X}function c(){for(var e={b:"",c:"",e:qt,f:Qt,g:"",h:zt,i:Vt,j:dt,k:"",l:n},t,r=0;t=arguments[r];r++)for(var i in t)e[i]=t[i];t=e.a,e
|
||||||
.exec(t)[0],r="var h,v,k="+e.d+",s="+e.d+";if(!"+e.d+")return s;"+e.k+";",e.b?(r+="var l=k.length;h=-1;if(typeof l=='number'){",e.i&&(r+="if(j(k)){k=k.split('')}"),r+="while(++h<l){v=k[h];"+e.b+"}}else {"):e.h&&(r+="var l=k.length;h=-1;if(l&&i(k)){while(++h<l){v=k[h+=''];"+e.g+"}}else {"),e.e||(r+="var t=typeof k=='function'&&r.call(k,'prototype');");if(e.f&&e.l)r+="var p=-1,q=o[typeof k]?m(k):[],l=q.length;while(++p<l){h=q[p];",e.e||(r+="if(!(t&&h=='prototype')){"),r+="v=k[h];"+e.g+"",e.e||(r+="}"
|
.d=/^[^,]+/.exec(t)[0],r="var i,x,l="+e.d+",t="+e.d+";if(!"+e.d+")return t;"+e.k+";",e.b?(r+="var m=l.length;i=-1;if(typeof m=='number'){",e.i&&(r+="if(k(l)){l=l.split('')}"),r+="while(++i<m){x=l[i];"+e.b+"}}else {"):e.h&&(r+="var m=l.length;i=-1;if(m&&j(l)){while(++i<m){x=l[i+=''];"+e.g+"}}else {"),e.e||(r+="var u=typeof l=='function'&&s.call(l,'prototype');");if(e.f&&e.l)r+="var q=-1,r=p[typeof l]?n(l):[],m=r.length;while(++q<m){i=r[q];",e.e||(r+="if(!(u&&i=='prototype')){"),r+="x=l[i];"+e.g+""
|
||||||
);else{r+="for(h in k){";if(!e.e||e.l)r+="if(",e.e||(r+="!(t&&h=='prototype')"),!e.e&&e.l&&(r+="&&"),e.l&&(r+="g.call(k,h)"),r+="){";r+="v=k[h];"+e.g+";";if(!e.e||e.l)r+="}"}r+="}";if(e.e){r+="var f=k.constructor;";for(i=0;7>i;i++)r+="h='"+e.j[i]+"';if(","constructor"==e.j[i]&&(r+="!(f&&f.prototype===k)&&"),r+="g.call(k,h)){v=k[h];"+e.g+"}"}if(e.b||e.h)r+="}";return r+=e.c+";return s",Function("e,g,i,j,o,m,r","return function("+t+"){"+r+"}")(l,yt,m,N,Gt,kt,wt)}function h(e){return"\\"+Yt[e]}function p
|
,e.e||(r+="}");else{r+="for(i in l){";if(!e.e||e.l)r+="if(",e.e||(r+="!(u&&i=='prototype')"),!e.e&&e.l&&(r+="&&"),e.l&&(r+="h.call(l,i)"),r+="){";r+="x=l[i];"+e.g+";";if(!e.e||e.l)r+="}"}r+="}";if(e.e){r+="var f=l.constructor;";for(i=0;7>i;i++)r+="i='"+e.j[i]+"';if(","constructor"==e.j[i]&&(r+="!(f&&f.prototype===l)&&"),r+="h.call(l,i)){x=l[i];"+e.g+"}"}if(e.b||e.h)r+="}";return r+=e.c+";return t",Function("e,h,j,k,p,n,s","return function("+t+"){"+r+"}")(l,bt,m,N,Yt,Lt,Et)}function h(e){return"\\"+
|
||||||
(e){return sn[e]}function d(){}function v(e){return on[e]}function m(e){return St.call(e)==Mt}function g(e){var t=i;if(!e||"object"!=typeof e||m(e))return t;var n=e.constructor;return(!Vt||"function"==typeof e.toString||"string"!=typeof (e+""))&&(!x(n)||n instanceof n)?qt?(nn(e,function(e,n,r){return t=!yt.call(r,n),i}),t===i):(nn(e,function(e,n){t=n}),t===i||yt.call(e,t)):t}function y(e){var t=[];return rn(e,function(e,n){t.push(n)}),t}function b(e,t,n,s,o){if(e==r)return e;n&&(t=i);if(n=T(e)){var u=
|
Zt[e]}function p(e){return un[e]}function d(){}function v(e){return an[e]}function m(e){return xt.call(e)==_t}function g(e){var t=i;if(!e||"object"!=typeof e||m(e))return t;var n=e.constructor;return(!$t||"function"==typeof e.toString||"string"!=typeof (e+""))&&(!x(n)||n instanceof n)?Rt?(sn(e,function(e,n,r){return t=!bt.call(r,n),i}),t===i):(sn(e,function(e,n){t=n}),t===i||bt.call(e,t)):t}function y(e){var t=[];return on(e,function(e,n){t.push(n)}),t}function b(e,t,n,s,o){if(e==r)return e;n&&(t=
|
||||||
St.call(e);if(!Qt[u]||zt&&m(e))return e;var a=u==_t,n=a||(u==Bt?ln(e):n)}if(!n||!t)return n?a?Et.call(e):an({},e):e;n=e.constructor;switch(u){case Dt:case Pt:return new n(+e);case Ht:case Ft:return new n(e);case jt:return n(e.source,st.exec(e))}s||(s=[]),o||(o=[]);for(u=s.length;u--;)if(s[u]==e)return o[u];var f=a?n(e.length):{};return s.push(e),o.push(f),(a?hn:rn)(e,function(e,n){f[n]=b(e,t,r,s,o)}),f}function w(e){var t=[];return nn(e,function(e,n){x(e)&&t.push(n)}),t.sort()}function E(e){var t=
|
i);if(n=T(e)){var u=xt.call(e);if(!Gt[u]||Wt&&m(e))return e;var a=u==Dt,n=a||(u==jt?cn(e):n)}if(!n||!t)return n?a?St.call(e):rn({},e):e;n=e.constructor;switch(u){case Pt:case Ht:return new n(+e);case Bt:case It:return new n(e);case Ft:return n(e.source,ot.exec(e))}s||(s=[]),o||(o=[]);for(u=s.length;u--;)if(s[u]==e)return o[u];var f=a?n(e.length):{};return s.push(e),o.push(f),(a?pn:on)(e,function(e,n){f[n]=b(e,t,r,s,o)}),f}function w(e){var t=[];return sn(e,function(e,n){x(e)&&t.push(n)}),t.sort()
|
||||||
{};return rn(e,function(e,n){t[e]=n}),t}function S(e,t,s,o){if(e===t)return 0!==e||1/e==1/t;if(e==r||t==r)return e===t;var u=St.call(e);if(u!=St.call(t))return i;switch(u){case Dt:case Pt:return+e==+t;case Ht:return e!=+e?t!=+t:0==e?1/e==1/t:e==+t;case jt:case Ft:return e==t+""}var a=u==_t||u==Mt;if(zt&&!a&&(a=m(e))&&!m(t))return i;if(!a){if(e.__wrapped__||t.__wrapped__)return S(e.__wrapped__||e,t.__wrapped__||t);if(u!=Bt||Vt&&("function"!=typeof e.toString&&"string"==typeof (e+"")||"function"!=typeof
|
}function E(e){var t={};return on(e,function(e,n){t[e]=n}),t}function S(e,t,s,o){if(e===t)return 0!==e||1/e==1/t;if(e==r||t==r)return e===t;var u=xt.call(e);if(u!=xt.call(t))return i;switch(u){case Pt:case Ht:return+e==+t;case Bt:return e!=+e?t!=+t:0==e?1/e==1/t:e==+t;case Ft:case It:return e==t+""}var a=u==Dt||u==_t;if(Wt&&!a&&(a=m(e))&&!m(t))return i;if(!a){if(e.__wrapped__||t.__wrapped__)return S(e.__wrapped__||e,t.__wrapped__||t);if(u!=jt||$t&&("function"!=typeof e.toString&&"string"==typeof
|
||||||
t.toString&&"string"==typeof (t+"")))return i;var u=e.constructor,f=t.constructor;if(u!=f&&(!x(u)||!(u instanceof u&&x(f)&&f instanceof f)))return i}s||(s=[]),o||(o=[]);for(u=s.length;u--;)if(s[u]==e)return o[u]==t;var u=-1,f=n,l=0;s.push(e),o.push(t);if(a){l=e.length;if(f=l==t.length)for(;l--&&(f=S(e[l],t[l],s,o)););return f}for(var c in e)if(yt.call(e,c)&&(l++,!yt.call(t,c)||!S(e[c],t[c],s,o)))return i;for(c in t)if(yt.call(t,c)&&!(l--))return i;if(It)for(;7>++u;)if(c=pt[u],yt.call(e,c)&&(!yt.call
|
(e+"")||"function"!=typeof t.toString&&"string"==typeof (t+"")))return i;var u=e.constructor,f=t.constructor;if(u!=f&&(!x(u)||!(u instanceof u&&x(f)&&f instanceof f)))return i}s||(s=[]),o||(o=[]);for(u=s.length;u--;)if(s[u]==e)return o[u]==t;var u=-1,f=n,l=0;s.push(e),o.push(t);if(a){l=e.length;if(f=l==t.length)for(;l--&&(f=S(e[l],t[l],s,o)););return f}for(var c in e)if(bt.call(e,c)&&(l++,!bt.call(t,c)||!S(e[c],t[c],s,o)))return i;for(c in t)if(bt.call(t,c)&&!(l--))return i;if(qt)for(;7>++u;)if(c=
|
||||||
(t,c)||!S(e[c],t[c],s,o)))return i;return n}function x(e){return"function"==typeof e}function T(e){return e?Gt[typeof e]:i}function N(e){return St.call(e)==Ft}function C(e,t,n){var i=arguments,s=0,o=2,u=i[3],a=i[4];n!==Q&&(u=[],a=[],o=i.length);for(;++s<o;)rn(i[s],function(t,n){var i,s,o;if(t&&((s=fn(t))||ln(t))){for(var f=u.length;f--;)if(i=u[f]==t)break;i?e[n]=a[f]:(u.push(t),a.push(o=(o=e[n],s)?fn(o)?o:[]:ln(o)?o:{}),e[n]=C(o,t,Q,u,a))}else t!=r&&(e[n]=t)});return e}function k(e){var t=[];return rn
|
dt[u],bt.call(e,c)&&(!bt.call(t,c)||!S(e[c],t[c],s,o)))return i;return n}function x(e){return"function"==typeof e}function T(e){return e?Yt[typeof e]:i}function N(e){return xt.call(e)==It}function C(e,t,n){var i=arguments,s=0,o=2,u=i[3],a=i[4];n!==Y&&(u=[],a=[],"number"!=typeof n&&(o=i.length));for(;++s<o;)on(i[s],function(t,n){var i,s,o;if(t&&((s=ln(t))||cn(t))){for(var f=u.length;f--;)if(i=u[f]==t)break;i?e[n]=a[f]:(u.push(t),a.push(o=(o=e[n],s)?ln(o)?o:[]:cn(o)?o:{}),e[n]=C(o,t,Y,u,a))}else t!=
|
||||||
(e,function(e){t.push(e)}),t}function L(e,t,n){var r=-1,i=e?e.length:0,n=(0>n?Lt(0,i+n):n)||0;return"number"==typeof i?-1<(N(e)?e.indexOf(t,n):q(e,t,n)):j(e,function(e){return++r>=n&&e===t})}function A(e,t,r){var i=n,t=l(t,r);if(fn(e))for(var r=-1,s=e.length;++r<s&&(i=!!t(e[r],r,e)););else hn(e,function(e,n,r){return i=!!t(e,n,r)});return i}function O(e,t,n){var r=[],t=l(t,n);return hn(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function M(e,t,n){var r,t=l(t,n);return hn(e,function(e,n,s){if(t(e,n,
|
r&&(e[n]=t)});return e}function k(e){var t=[];return on(e,function(e){t.push(e)}),t}function L(e,t,n){var r=-1,s=e?e.length:0,o=i,n=(0>n?At(0,s+n):n)||0;return"number"==typeof s?o=-1<(N(e)?e.indexOf(t,n):q(e,t,n)):pn(e,function(e){if(++r>=n)return!(o=e===t)}),o}function A(e,t,r){var i=n,t=l(t,r);if(ln(e))for(var r=-1,s=e.length;++r<s&&(i=!!t(e[r],r,e)););else pn(e,function(e,n,r){return i=!!t(e,n,r)});return i}function O(e,t,n){var r=[],t=l(t,n);if(ln(e))for(var n=-1,i=e.length;++n<i;){var s=e[n]
|
||||||
s))return r=e,i}),r}function _(e,t,n){var r=-1,i=e?e.length:0,s=Array("number"==typeof i?i:0),t=l(t,n);if(fn(e))for(;++r<i;)s[r]=t(e[r],r,e);else hn(e,function(e,n,i){s[++r]=t(e,n,i)});return s}function D(e,t,n){var r=-Infinity,i=-1,s=e?e.length:0,o=r;if(t||!fn(e))t=!t&&N(e)?u:l(t,n),hn(e,function(e,n,i){n=t(e,n,i),n>r&&(r=n,o=e)});else for(;++i<s;)e[i]>o&&(o=e[i]);return o}function P(e,t){var n=[];return hn(e,function(e){n.push(e[t])}),n}function H(e,t,n,r){var s=3>arguments.length,t=l(t,r);return hn
|
;t(s,n,e)&&r.push(s)}else pn(e,function(e,n,i){t(e,n,i)&&r.push(e)});return r}function M(e,t,n){var r,t=l(t,n);return pn(e,function(e,n,s){if(t(e,n,s))return r=e,i}),r}function _(e,t,n){var r=-1,i=e?e.length:0,s=Array("number"==typeof i?i:0),t=l(t,n);if(ln(e))for(;++r<i;)s[r]=t(e[r],r,e);else pn(e,function(e,n,i){s[++r]=t(e,n,i)});return s}function D(e,t,n){var r=-Infinity,i=-1,s=e?e.length:0,o=r;if(t||!ln(e))t=!t&&N(e)?u:l(t,n),pn(e,function(e,n,i){n=t(e,n,i),n>r&&(r=n,o=e)});else for(;++i<s;)e[
|
||||||
(e,function(e,r,o){n=s?(s=i,e):t(n,e,r,o)}),n}function B(e,t,n,r){var s=e,o=e?e.length:0,u=3>arguments.length;if("number"!=typeof o)var a=cn(e),o=a.length;else Xt&&N(e)&&(s=e.split(""));return hn(e,function(e,f,l){f=a?a[--o]:--o,n=u?(u=i,s[f]):t.call(r,n,s[f],f,l)}),n}function j(e,t,n){var r,t=l(t,n);if(fn(e))for(var n=-1,i=e.length;++n<i&&!(r=t(e[n],n,e)););else hn(e,function(e,n,i){return!(r=t(e,n,i))});return!!r}function F(e,t,n){if(e)return t==r||n?e[0]:Et.call(e,0,t)}function I(e,t){for(var n=-1
|
i]>o&&(o=e[i]);return o}function P(e,t){var n=[];return pn(e,function(e){n.push(e[t])}),n}function H(e,t,n,r){var s=3>arguments.length,t=l(t,r);return pn(e,function(e,r,o){n=s?(s=i,e):t(n,e,r,o)}),n}function B(e,t,n,r){var s=e,o=e?e.length:0,u=3>arguments.length;if("number"!=typeof o)var a=hn(e),o=a.length;else Vt&&N(e)&&(s=e.split(""));return pn(e,function(e,f,l){f=a?a[--o]:--o,n=u?(u=i,s[f]):t.call(r,n,s[f],f,l)}),n}function j(e,t,n){var r,t=l(t,n);if(ln(e))for(var n=-1,i=e.length;++n<i&&!(r=t(
|
||||||
,r=e?e.length:0,i=[];++n<r;){var s=e[n];fn(s)?bt.apply(i,t?s:I(s)):i.push(s)}return i}function q(e,t,n){var r=-1,i=e?e.length:0;if("number"==typeof n)r=(0>n?Lt(0,i+n):n||0)-1;else if(n)return r=U(e,t),e[r]===t?r:-1;for(;++r<i;)if(e[r]===t)return r;return-1}function R(e,t,n){return e?Et.call(e,t==r||n?1:t):[]}function U(e,t,n,r){for(var i=0,s=e?e.length:i,n=n?l(n,r):X,t=n(t);i<s;)r=i+s>>>1,n(e[r])<t?i=r+1:s=r;return i}function z(e,t,n,r){var s=-1,o=e?e.length:0,u=[],a=u;"function"==typeof t&&(r=n,
|
e[n],n,e)););else pn(e,function(e,n,i){return!(r=t(e,n,i))});return!!r}function F(e,t,n){if(e)return t==r||n?e[0]:St.call(e,0,t)}function I(e,t){for(var n=-1,r=e?e.length:0,i=[];++n<r;){var s=e[n];ln(s)?wt.apply(i,t?s:I(s)):i.push(s)}return i}function q(e,t,n){var r=-1,i=e?e.length:0;if("number"==typeof n)r=(0>n?At(0,i+n):n||0)-1;else if(n)return r=U(e,t),e[r]===t?r:-1;for(;++r<i;)if(e[r]===t)return r;return-1}function R(e,t,n){return e?St.call(e,t==r||n?1:t):[]}function U(e,t,n,r){for(var i=0,s=
|
||||||
n=t,t=i);var f=!t&&74<o;if(f)var c={};n&&(a=[],n=l(n,r));for(;++s<o;){var r=e[s],h=n?n(r,s,e):r;f&&(a=yt.call(c,h+"")?c[h]:c[h]=[]);if(t?!s||a[a.length-1]!==h:0>q(a,h))(n||f)&&a.push(h),u.push(r)}return u}function W(e,t){return Jt||xt&&2<arguments.length?xt.call.apply(xt,arguments):f(e,t,Et.call(arguments,2))}function X(e){return e}function V(e){hn(w(e),function(t){var r=s[t]=e[t];s.prototype[t]=function(){var e=[this.__wrapped__];return bt.apply(e,arguments),e=r.apply(s,e),this.__chain__&&(e=new
|
e?e.length:i,n=n?l(n,r):X,t=n(t);i<s;)r=i+s>>>1,n(e[r])<t?i=r+1:s=r;return i}function z(e,t,n,r){var s=-1,o=e?e.length:0,u=[],a=u;"function"==typeof t&&(r=n,n=t,t=i);var f=!t&&74<o;if(f)var c={};n&&(a=[],n=l(n,r));for(;++s<o;){var r=e[s],h=n?n(r,s,e):r;f&&(a=bt.call(c,h+"")?c[h]:c[h]=[]);if(t?!s||a[a.length-1]!==h:0>q(a,h))(n||f)&&a.push(h),u.push(r)}return u}function W(e,t){return Kt||Tt&&2<arguments.length?Tt.call.apply(Tt,arguments):f(e,t,St.call(arguments,2))}function X(e){return e}function V
|
||||||
s(e),e.__chain__=n),e}})}var n=!0,r=null,i=!1,$="object"==typeof exports&&exports,J="object"==typeof global&&global;J.global===J&&(e=J);var K=[],Q=new function(){},G=0,Y=30,Z=e._,et=/[-?+=!~*%&^<>|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/,tt=/&(?:amp|lt|gt|quot|#x27);/g,nt=/\b__p\+='';/g,rt=/\b(__p\+=)''\+/g,it=/(__e\(.*?\)|\b__t\))\+'';/g,st=/\w*$/,ot=/(?:__e|__t=)\(\s*(?![\d\s"']|this\.)/g,ut=RegExp("^"+(Q.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g
|
(e){pn(w(e),function(t){var r=s[t]=e[t];s.prototype[t]=function(){var e=[this.__wrapped__];return wt.apply(e,arguments),e=r.apply(s,e),this.__chain__&&(e=new s(e),e.__chain__=n),e}})}var n=!0,r=null,i=!1,$="object"==typeof exports&&exports,J="object"==typeof global&&global;J.global===J&&(e=J);var K=[],Q=new function(){},G=0,Y=Q,Z=30,et=e._,tt=/[-?+=!~*%&^<>|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/,nt=/&(?:amp|lt|gt|quot|#x27);/g,rt=/\b__p\+='';/g,it=/\b(__p\+=)''\+/g,st=/(__e\(.*?\)|\b__t\))\+'';/g
|
||||||
,".+?")+"$"),at=/\$\{((?:(?=\\?)\\?[\s\S])*?)}/g,ft=/<%=([\s\S]+?)%>/g,lt=/($^)/,ct=/[&<>"']/g,ht=/['\n\r\t\u2028\u2029\\]/g,pt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),dt=Math.ceil,vt=K.concat,mt=Math.floor,gt=ut.test(gt=Object.getPrototypeOf)&>,yt=Q.hasOwnProperty,bt=K.push,wt=Q.propertyIsEnumerable,Et=K.slice,St=Q.toString,xt=ut.test(xt=Et.bind)&&xt,Tt=ut.test(Tt=Array.isArray)&&Tt,Nt=e.isFinite,Ct=e.isNaN,kt=ut.test(kt=Object
|
,ot=/\w*$/,ut=/(?:__e|__t=)\(\s*(?![\d\s"']|this\.)/g,at=RegExp("^"+(Q.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),ft=/\$\{((?:(?=\\?)\\?[\s\S])*?)}/g,lt=/<%=([\s\S]+?)%>/g,ct=/($^)/,ht=/[&<>"']/g,pt=/['\n\r\t\u2028\u2029\\]/g,dt="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),vt=Math.ceil,mt=K.concat,gt=Math.floor,yt=at.test(yt=Object.getPrototypeOf)&&yt,bt=Q.hasOwnProperty,wt=K.push,Et=
|
||||||
.keys)&&kt,Lt=Math.max,At=Math.min,Ot=Math.random,Mt="[object Arguments]",_t="[object Array]",Dt="[object Boolean]",Pt="[object Date]",Ht="[object Number]",Bt="[object Object]",jt="[object RegExp]",Ft="[object String]",It,qt,Rt=(Rt={0:1,length:1},K.splice.call(Rt,0,1),Rt[0]),Ut=n;(function(){function e(){this.x=1}var t=[];e.prototype={valueOf:1,y:1};for(var n in new e)t.push(n);for(n in arguments)Ut=!n;It=!/valueOf/.test(t),qt="x"!=t[0]})(1);var zt=!m(arguments),Wt="x"!=Et.call("x")[0],Xt="xx"!="x"
|
Q.propertyIsEnumerable,St=K.slice,xt=Q.toString,Tt=at.test(Tt=St.bind)&&Tt,Nt=at.test(Nt=Array.isArray)&&Nt,Ct=e.isFinite,kt=e.isNaN,Lt=at.test(Lt=Object.keys)&&Lt,At=Math.max,Ot=Math.min,Mt=Math.random,_t="[object Arguments]",Dt="[object Array]",Pt="[object Boolean]",Ht="[object Date]",Bt="[object Number]",jt="[object Object]",Ft="[object RegExp]",It="[object String]",qt,Rt,Ut=(Ut={0:1,length:1},K.splice.call(Ut,0,1),Ut[0]),zt=n;(function(){function e(){this.x=1}var t=[];e.prototype={valueOf:1,y
|
||||||
[0]+Object("x")[0];try{var Vt=("[object Object]",St.call(e.document||0)==Bt)}catch($t){}var Jt=xt&&/\n|Opera/.test(xt+St.call(e.opera)),Kt=kt&&/^.+$|true/.test(kt+!!e.attachEvent),Qt={};Qt[Mt]=Qt["[object Function]"]=i,Qt[_t]=Qt[Dt]=Qt[Pt]=Qt[Ht]=Qt[Bt]=Qt[jt]=Qt[Ft]=n;var Gt={"boolean":i,"function":n,object:n,number:i,string:i,"undefined":i},Yt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};s.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,
|
:1};for(var n in new e)t.push(n);for(n in arguments)zt=!n;qt=!/valueOf/.test(t),Rt="x"!=t[0]})(1);var Wt=!m(arguments),Xt="x"!=St.call("x")[0],Vt="xx"!="x"[0]+Object("x")[0];try{var $t=("[object Object]",xt.call(e.document||0)==jt)}catch(Jt){}var Kt=Tt&&/\n|Opera/.test(Tt+xt.call(e.opera)),Qt=Lt&&/^.+$|true/.test(Lt+!!e.attachEvent),Gt={};Gt[_t]=Gt["[object Function]"]=i,Gt[Dt]=Gt[Pt]=Gt[Ht]=Gt[Bt]=Gt[jt]=Gt[Ft]=Gt[It]=n;var Yt={"boolean":i,"function":n,object:n,number:i,string:i,"undefined":i},Zt=
|
||||||
interpolate:ft,variable:""};var Zt={a:"d,c,u",k:"c=e(c,u)",b:"if(c(v,h,d)===false)return s",g:"if(c(v,h,d)===false)return s"},en={l:i,a:"n",k:"for(var a=1,b=arguments.length;a<b;a++){if(k=arguments[a]){",g:"s[h]=v",c:"}}"},tn={b:r};zt&&(m=function(e){return e?yt.call(e,"callee"):i});var nn=c(Zt,tn,{l:i}),rn=c(Zt,tn),sn={"&":"&","<":"<",">":">",'"':""","'":"'"},on=E(sn),un=c(en,{g:"if(s[h]==null)"+en.g}),an=c(en),fn=Tt||function(e){return St.call(e)==_t};x(/x/)&&(x=function(e){
|
{"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};s.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:lt,variable:""};var en={a:"o,v,g",k:"for(var a=1,b=typeof g=='number'?2:arguments.length;a<b;a++){if((l=arguments[a])){",g:"t[i]=x",c:"}}"},tn={a:"d,c,w",k:"c=e(c,w)",b:"if(c(x,i,d)===false)return t",g:"if(c(x,i,d)===false)return t"},nn={b:r},rn=c(en);Wt&&(m=function(e){return e?bt.call(e,"callee"):i});var sn=c(tn,nn,{l:i}),on=c(tn,nn
|
||||||
return"[object Function]"==St.call(e)});var ln=gt?function(e){if(!e||"object"!=typeof e)return i;var t=e.valueOf,n="function"==typeof t&&(n=gt(t))&>(n);return n?e==n||gt(e)==n&&!m(e):g(e)}:g,cn=kt?function(e){return"function"==typeof e&&wt.call(e,"prototype")?y(e):T(e)?kt(e):[]}:y,hn=c(Zt);s.VERSION="0.9.2",s.after=function(e,t){return 1>e?t():function(){if(1>--e)return t.apply(this,arguments)}},s.bind=W,s.bindAll=function(e){for(var t=arguments,n=1<t.length?0:(t=w(e),-1),r=t.length;++n<r;){var i=
|
),un={"&":"&","<":"<",">":">",'"':""","'":"'"},an=E(un),fn=c(en,{g:"if(t[i]==null)"+en.g}),ln=Nt||function(e){return xt.call(e)==Dt};x(/x/)&&(x=function(e){return"[object Function]"==xt.call(e)});var cn=yt?function(e){if(!e||"object"!=typeof e)return i;var t=e.valueOf,n="function"==typeof t&&(n=yt(t))&&yt(n);return n?e==n||yt(e)==n&&!m(e):g(e)}:g,hn=Lt?function(e){return"function"==typeof e&&Et.call(e,"prototype")?y(e):T(e)?Lt(e):[]}:y,pn=c(tn);s.VERSION="0.10.0",s.assign=rn,s
|
||||||
t[n];e[i]=W(e[i],e)}return e},s.chain=function(e){return e=new s(e),e.__chain__=n,e},s.clone=b,s.compact=function(e){for(var t=-1,n=e?e.length:0,r=[];++t<n;){var i=e[t];i&&r.push(i)}return r},s.compose=function(){var e=arguments;return function(){for(var t=arguments,n=e.length;n--;)t=[e[n].apply(this,t)];return t[0]}},s.contains=L,s.countBy=function(e,t,n){var r={},t=l(t,n);return hn(e,function(e,n,i){n=t(e,n,i),yt.call(r,n)?r[n]++:r[n]=1}),r},s.debounce=function(e,t,n){function i(){a=r,n||(o=e.apply
|
.after=function(e,t){return 1>e?t():function(){if(1>--e)return t.apply(this,arguments)}},s.bind=W,s.bindAll=function(e){for(var t=arguments,n=1<t.length?0:(t=w(e),-1),r=t.length;++n<r;){var i=t[n];e[i]=W(e[i],e)}return e},s.bindKey=function(e,t){return f(e,t,St.call(arguments,2))},s.chain=function(e){return e=new s(e),e.__chain__=n,e},s.clone=b,s.compact=function(e){for(var t=-1,n=e?e.length:0,r=[];++t<n;){var i=e[t];i&&r.push(i)}return r},s.compose=function(){var e=arguments;return function(){for(
|
||||||
(u,s))}var s,o,u,a;return function(){var r=n&&!a;return s=arguments,u=this,clearTimeout(a),a=setTimeout(i,t),r&&(o=e.apply(u,s)),o}},s.defaults=un,s.defer=function(e){var n=Et.call(arguments,1);return setTimeout(function(){e.apply(t,n)},1)},s.delay=function(e,n){var r=Et.call(arguments,2);return setTimeout(function(){e.apply(t,r)},n)},s.difference=function(e){for(var t=-1,n=e?e.length:0,r=vt.apply(K,arguments),r=o(r,n),i=[];++t<n;){var s=e[t];r(s)||i.push(s)}return i},s.escape=function(e){return e==
|
var t=arguments,n=e.length;n--;)t=[e[n].apply(this,t)];return t[0]}},s.contains=L,s.countBy=function(e,t,n){var r={},t=l(t,n);return pn(e,function(e,n,i){n=t(e,n,i),bt.call(r,n)?r[n]++:r[n]=1}),r},s.debounce=function(e,t,n){function i(){a=r,n||(o=e.apply(u,s))}var s,o,u,a;return function(){var r=n&&!a;return s=arguments,u=this,clearTimeout(a),a=setTimeout(i,t),r&&(o=e.apply(u,s)),o}},s.defaults=fn,s.defer=function(e){var n=St.call(arguments,1);return setTimeout(function(){e.apply(t,n)},1)},s.delay=
|
||||||
r?"":(e+"").replace(ct,p)},s.every=A,s.extend=an,s.filter=O,s.find=M,s.first=F,s.flatten=I,s.forEach=hn,s.forIn=nn,s.forOwn=rn,s.functions=w,s.groupBy=function(e,t,n){var r={},t=l(t,n);return hn(e,function(e,n,i){n=t(e,n,i),(yt.call(r,n)?r[n]:r[n]=[]).push(e)}),r},s.has=function(e,t){return e?yt.call(e,t):i},s.identity=X,s.indexOf=q,s.initial=function(e,t,n){return e?Et.call(e,0,-(t==r||n?1:t)):[]},s.intersection=function(e){var t=arguments,n=t.length,r={},i=[];return hn(e,function(e){if(0>q(i,e)
|
function(e,n){var r=St.call(arguments,2);return setTimeout(function(){e.apply(t,r)},n)},s.difference=function(e){for(var t=-1,n=e?e.length:0,r=mt.apply(K,arguments),r=o(r,n),i=[];++t<n;){var s=e[t];r(s)||i.push(s)}return i},s.escape=function(e){return e==r?"":(e+"").replace(ht,p)},s.every=A,s.filter=O,s.find=M,s.first=F,s.flatten=I,s.forEach=pn,s.forIn=sn,s.forOwn=on,s.functions=w,s.groupBy=function(e,t,n){var r={},t=l(t,n);return pn(e,function(e,n,i){n=t(e,n,i),(bt.call(r,n)?r[n]:r[n]=[]).push(e
|
||||||
){for(var s=n;--s;)if(!(r[s]||(r[s]=o(t[s])))(e))return;i.push(e)}}),i},s.invert=E,s.invoke=function(e,t){var n=Et.call(arguments,2),r="function"==typeof t,i=[];return hn(e,function(e){i.push((r?t:e[t]).apply(e,n))}),i},s.isArguments=m,s.isArray=fn,s.isBoolean=function(e){return e===n||e===i||St.call(e)==Dt},s.isDate=function(e){return St.call(e)==Pt},s.isElement=function(e){return e?1===e.nodeType:i},s.isEmpty=function(e){var t=n;if(!e)return t;var r=St.call(e),s=e.length;return r==_t||r==Ft||r==
|
)}),r},s.has=function(e,t){return e?bt.call(e,t):i},s.identity=X,s.indexOf=q,s.initial=function(e,t,n){return e?St.call(e,0,-(t==r||n?1:t)):[]},s.intersection=function(e){var t=arguments,n=t.length,r={},i=[];return pn(e,function(e){if(0>q(i,e)){for(var s=n;--s;)if(!(r[s]||(r[s]=o(t[s])))(e))return;i.push(e)}}),i},s.invert=E,s.invoke=function(e,t){var n=St.call(arguments,2),r="function"==typeof t,i=[];return pn(e,function(e){i.push((r?t:e[t]).apply(e,n))}),i},s.isArguments=m,s.isArray=ln,s.isBoolean=
|
||||||
Mt||zt&&m(e)||r==Bt&&"number"==typeof s&&x(e.splice)?!s:(rn(e,function(){return t=i}),t)},s.isEqual=S,s.isFinite=function(e){return Nt(e)&&!Ct(parseFloat(e))},s.isFunction=x,s.isNaN=function(e){return St.call(e)==Ht&&e!=+e},s.isNull=function(e){return e===r},s.isNumber=function(e){return St.call(e)==Ht},s.isObject=T,s.isPlainObject=ln,s.isRegExp=function(e){return St.call(e)==jt},s.isString=N,s.isUndefined=function(e){return e===t},s.keys=cn,s.last=function(e,t,n){if(e){var i=e.length;return t==r||
|
function(e){return e===n||e===i||xt.call(e)==Pt},s.isDate=function(e){return xt.call(e)==Ht},s.isElement=function(e){return e?1===e.nodeType:i},s.isEmpty=function(e){var t=n;if(!e)return t;var r=xt.call(e),s=e.length;return r==Dt||r==It||r==_t||Wt&&m(e)||r==jt&&"number"==typeof s&&x(e.splice)?!s:(on(e,function(){return t=i}),t)},s.isEqual=S,s.isFinite=function(e){return Ct(e)&&!kt(parseFloat(e))},s.isFunction=x,s.isNaN=function(e){return xt.call(e)==Bt&&e!=+e},s.isNull=function(e){return e===r},s
|
||||||
n?e[i-1]:Et.call(e,-t||i)}},s.lastIndexOf=function(e,t,n){var r=e?e.length:0;for("number"==typeof n&&(r=(0>n?Lt(0,r+n):At(n,r-1))+1);r--;)if(e[r]===t)return r;return-1},s.lateBind=function(e,t){return f(t,e,Et.call(arguments,2))},s.map=_,s.max=D,s.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return yt.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},s.merge=C,s.min=function(e,t,n){var r=Infinity,i=-1,s=e?e.length:0,o=r;if(t||!fn(e))t=!t&&N(e)?u:l(t,n)
|
.isNumber=function(e){return xt.call(e)==Bt},s.isObject=T,s.isPlainObject=cn,s.isRegExp=function(e){return xt.call(e)==Ft},s.isString=N,s.isUndefined=function(e){return e===t},s.keys=hn,s.last=function(e,t,n){if(e){var i=e.length;return t==r||n?e[i-1]:St.call(e,-t||i)}},s.lastIndexOf=function(e,t,n){var r=e?e.length:0;for("number"==typeof n&&(r=(0>n?At(0,r+n):Ot(n,r-1))+1);r--;)if(e[r]===t)return r;return-1},s.map=_,s.max=D,s.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments
|
||||||
,hn(e,function(e,n,i){n=t(e,n,i),n<r&&(r=n,o=e)});else for(;++i<s;)e[i]<o&&(o=e[i]);return o},s.mixin=V,s.noConflict=function(){return e._=Z,this},s.object=function(e,t){for(var n=-1,r=e?e.length:0,i={};++n<r;){var s=e[n];t?i[s]=t[n]:i[s[0]]=s[1]}return i},s.omit=function(e,t,n){var r="function"==typeof t,i={};if(r)t=l(t,n);else var s=vt.apply(K,arguments);return nn(e,function(e,n,o){if(r?!t(e,n,o):0>q(s,n,1))i[n]=e}),i},s.once=function(e){var t,s=i;return function(){return s?t:(s=n,t=e.apply(this
|
):arguments[0];return bt.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},s.merge=C,s.min=function(e,t,n){var r=Infinity,i=-1,s=e?e.length:0,o=r;if(t||!ln(e))t=!t&&N(e)?u:l(t,n),pn(e,function(e,n,i){n=t(e,n,i),n<r&&(r=n,o=e)});else for(;++i<s;)e[i]<o&&(o=e[i]);return o},s.mixin=V,s.noConflict=function(){return e._=et,this},s.object=function(e,t){for(var n=-1,r=e?e.length:0,i={};++n<r;){var s=e[n];t?i[s]=t[n]:i[s[0]]=s[1]}return i},s.omit=function(e,t,n){var r="function"==typeof t,i={};if(r)t=l(t,n);
|
||||||
,arguments),e=r,t)}},s.pairs=function(e){var t=[];return rn(e,function(e,n){t.push([n,e])}),t},s.partial=function(e){return f(e,Et.call(arguments,1))},s.pick=function(e,t,n){var r={};if("function"!=typeof t)for(var i=0,s=vt.apply(K,arguments),o=s.length;++i<o;){var u=s[i];u in e&&(r[u]=e[u])}else t=l(t,n),nn(e,function(e,n,i){t(e,n,i)&&(r[n]=e)});return r},s.pluck=P,s.random=function(e,t){return e==r&&t==r&&(t=1),e=+e||0,t==r&&(t=e,e=0),e+mt(Ot()*((+t||0)-e+1))},s.range=function(e,t,n){e=+e||0,n=+
|
else var s=mt.apply(K,arguments);return sn(e,function(e,n,o){if(r?!t(e,n,o):0>q(s,n,1))i[n]=e}),i},s.once=function(e){var t,s=i;return function(){return s?t:(s=n,t=e.apply(this,arguments),e=r,t)}},s.pairs=function(e){var t=[];return on(e,function(e,n){t.push([n,e])}),t},s.partial=function(e){return f(e,St.call(arguments,1))},s.pick=function(e,t,n){var r={};if("function"!=typeof t)for(var i=0,s=mt.apply(K,arguments),o=s.length;++i<o;){var u=s[i];u in e&&(r[u]=e[u])}else t=l(t,n),sn(e,function(e,n,
|
||||||
n||1,t==r&&(t=e,e=0);for(var i=-1,t=Lt(0,dt((t-e)/n)),s=Array(t);++i<t;)s[i]=e,e+=n;return s},s.reduce=H,s.reduceRight=B,s.reject=function(e,t,n){return t=l(t,n),O(e,function(e,n,r){return!t(e,n,r)})},s.rest=R,s.result=function(e,t){var n=e?e[t]:r;return x(n)?e[t]():n},s.shuffle=function(e){var t=-1,n=Array(e?e.length:0);return hn(e,function(e){var r=mt(Ot()*(++t+1));n[t]=n[r],n[r]=e}),n},s.size=function(e){var t=e?e.length:0;return"number"==typeof t?t:cn(e).length},s.some=j,s.sortBy=function(e,t
|
i){t(e,n,i)&&(r[n]=e)});return r},s.pluck=P,s.random=function(e,t){return e==r&&t==r&&(t=1),e=+e||0,t==r&&(t=e,e=0),e+gt(Mt()*((+t||0)-e+1))},s.range=function(e,t,n){e=+e||0,n=+n||1,t==r&&(t=e,e=0);for(var i=-1,t=At(0,vt((t-e)/n)),s=Array(t);++i<t;)s[i]=e,e+=n;return s},s.reduce=H,s.reduceRight=B,s.reject=function(e,t,n){return t=l(t,n),O(e,function(e,n,r){return!t(e,n,r)})},s.rest=R,s.result=function(e,t){var n=e?e[t]:r;return x(n)?e[t]():n},s.shuffle=function(e){var t=-1,n=Array(e?e.length:0);return pn
|
||||||
,n){var r=[],t=l(t,n);hn(e,function(e,n,i){r.push({a:t(e,n,i),b:n,c:e})}),e=r.length;for(r.sort(a);e--;)r[e]=r[e].c;return r},s.sortedIndex=U,s.tap=function(e,t){return t(e),e},s.template=function(e,t,n){e||(e=""),n||(n={});var r,i,o=s.templateSettings,u=0,a=n.interpolate||o.interpolate||lt,f="__p += '",l=n.variable||o.variable,c=l;e.replace(RegExp((n.escape||o.escape||lt).source+"|"+a.source+"|"+(a===ft?at:lt).source+"|"+(n.evaluate||o.evaluate||lt).source+"|$","g"),function(t,n,i,s,o,a){i||(i=s
|
(e,function(e){var r=gt(Mt()*(++t+1));n[t]=n[r],n[r]=e}),n},s.size=function(e){var t=e?e.length:0;return"number"==typeof t?t:hn(e).length},s.some=j,s.sortBy=function(e,t,n){var r=[],t=l(t,n);pn(e,function(e,n,i){r.push({a:t(e,n,i),b:n,c:e})}),e=r.length;for(r.sort(a);e--;)r[e]=r[e].c;return r},s.sortedIndex=U,s.tap=function(e,t){return t(e),e},s.template=function(e,t,n){e||(e=""),n||(n={});var r,i,o=s.templateSettings,u=0,a=n.interpolate||o.interpolate||ct,f="__p += '",l=n.variable||o.variable,c=
|
||||||
),f+=e.slice(u,a).replace(ht,h),f+=n?"'+__e("+n+")+'":o?"';"+o+";__p+='":i?"'+((__t=("+i+"))==null?'':__t)+'":"",r||(r=o||et.test(n||i)),u=a+t.length}),f+="';",c||(l="obj",r?f="with("+l+"){"+f+"}":(n=RegExp("(\\(\\s*)"+l+"\\."+l+"\\b","g"),f=f.replace(ot,"$&"+l+".").replace(n,"$1__d"))),f=(r?f.replace(nt,""):f).replace(rt,"$1").replace(it,"$1;"),f="function("+l+"){"+(c?"":l+"||("+l+"={});")+"var __t,__p='',__e=_.escape"+(r?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":
|
l;e.replace(RegExp((n.escape||o.escape||ct).source+"|"+a.source+"|"+(a===lt?ft:ct).source+"|"+(n.evaluate||o.evaluate||ct).source+"|$","g"),function(t,n,i,s,o,a){i||(i=s),f+=e.slice(u,a).replace(pt,h),f+=n?"'+__e("+n+")+'":o?"';"+o+";__p+='":i?"'+((__t=("+i+"))==null?'':__t)+'":"",r||(r=o||tt.test(n||i)),u=a+t.length}),f+="';",c||(l="obj",r?f="with("+l+"){"+f+"}":(n=RegExp("(\\(\\s*)"+l+"\\."+l+"\\b","g"),f=f.replace(ut,"$&"+l+".").replace(n,"$1__d"))),f=(r?f.replace(rt,""):f).replace(it,"$1").replace
|
||||||
(c?"":",__d="+l+"."+l+"||"+l)+";")+f+"return __p}";try{i=Function("_","return "+f)(s)}catch(p){throw p.source=f,p}return t?i(t):(i.source=f,i)},s.throttle=function(e,t){function n(){a=new Date,u=r,s=e.apply(o,i)}var i,s,o,u,a=0;return function(){var r=new Date,f=t-(r-a);return i=arguments,o=this,0>=f?(clearTimeout(u),a=r,s=e.apply(o,i)):u||(u=setTimeout(n,f)),s}},s.times=function(e,t,n){for(var e=+e||0,r=-1,i=Array(e);++r<e;)i[r]=t.call(n,r);return i},s.toArray=function(e){return e&&"number"==typeof
|
(st,"$1;"),f="function("+l+"){"+(c?"":l+"||("+l+"={});")+"var __t,__p='',__e=_.escape"+(r?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":(c?"":",__d="+l+"."+l+"||"+l)+";")+f+"return __p}";try{i=Function("_","return "+f)(s)}catch(p){throw p.source=f,p}return t?i(t):(i.source=f,i)},s.throttle=function(e,t){function n(){a=new Date,u=r,s=e.apply(o,i)}var i,s,o,u,a=0;return function(){var r=new Date,f=t-(r-a);return i=arguments,o=this,0>=f?(clearTimeout(u),a=r,s=e.apply(o,i)
|
||||||
e.length?(Wt?N(e):"string"==typeof e)?e.split(""):Et.call(e):k(e)},s.unescape=function(e){return e==r?"":(e+"").replace(tt,v)},s.union=function(){return z(vt.apply(K,arguments))},s.uniq=z,s.uniqueId=function(e){var t=G++;return e?e+t:t},s.values=k,s.where=function(e,t){var n=[];return nn(t,function(e,t){n.push(t)}),O(e,function(e){for(var r=n.length;r--;){var i=e[n[r]]===t[n[r]];if(!i)break}return!!i})},s.without=function(e){for(var t=-1,n=e?e.length:0,r=o(arguments,1,20),i=[];++t<n;){var s=e[t];
|
):u||(u=setTimeout(n,f)),s}},s.times=function(e,t,n){for(var e=+e||0,r=-1,i=Array(e);++r<e;)i[r]=t.call(n,r);return i},s.toArray=function(e){return e&&"number"==typeof e.length?(Xt?N(e):"string"==typeof e)?e.split(""):St.call(e):k(e)},s.unescape=function(e){return e==r?"":(e+"").replace(nt,v)},s.union=function(){return z(mt.apply(K,arguments))},s.uniq=z,s.uniqueId=function(e){var t=G++;return e?e+t:t},s.values=k,s.where=function(e,t){var n=hn(t);return O(e,function(e){for(var r=n.length;r--;){var i=
|
||||||
r(s)||i.push(s)}return i},s.wrap=function(e,t){return function(){var n=[e];return bt.apply(n,arguments),t.apply(this,n)}},s.zip=function(e){for(var t=-1,n=e?D(P(arguments,"length")):0,r=Array(n);++t<n;)r[t]=P(arguments,t);return r},s.all=A,s.any=j,s.collect=_,s.detect=M,s.drop=R,s.each=hn,s.foldl=H,s.foldr=B,s.head=F,s.include=L,s.inject=H,s.methods=w,s.select=O,s.tail=R,s.take=F,s.unique=z,V(s),s.prototype.chain=function(){return this.__chain__=n,this},s.prototype.value=function(){return this.__wrapped__
|
e[n[r]]===t[n[r]];if(!i)break}return!!i})},s.without=function(e){for(var t=-1,n=e?e.length:0,r=o(arguments,1,20),i=[];++t<n;){var s=e[t];r(s)||i.push(s)}return i},s.wrap=function(e,t){return function(){var n=[e];return wt.apply(n,arguments),t.apply(this,n)}},s.zip=function(e){for(var t=-1,n=e?D(P(arguments,"length")):0,r=Array(n);++t<n;)r[t]=P(arguments,t);return r},s.all=A,s.any=j,s.collect=_,s.detect=M,s.drop=R,s.each=pn,s.extend=rn,s.foldl=H,s.foldr=B,s.head=F,s.include=L,s.inject=H,s.methods=
|
||||||
},hn("pop push reverse shift sort splice unshift".split(" "),function(e){var t=K[e];s.prototype[e]=function(){var e=this.__wrapped__;return t.apply(e,arguments),Rt&&e.length===0&&delete e[0],this.__chain__&&(e=new s(e),e.__chain__=n),e}}),hn(["concat","join","slice"],function(e){var t=K[e];s.prototype[e]=function(){var e=t.apply(this.__wrapped__,arguments);return this.__chain__&&(e=new s(e),e.__chain__=n),e}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(e._=s,define(function(
|
w,s.select=O,s.tail=R,s.take=F,s.unique=z,V(s),s.prototype.chain=function(){return this.__chain__=n,this},s.prototype.value=function(){return this.__wrapped__},pn("pop push reverse shift sort splice unshift".split(" "),function(e){var t=K[e];s.prototype[e]=function(){var e=this.__wrapped__;return t.apply(e,arguments),Ut&&e.length===0&&delete e[0],this.__chain__&&(e=new s(e),e.__chain__=n),e}}),pn(["concat","join","slice"],function(e){var t=K[e];s.prototype[e]=function(){var e=t.apply(this.__wrapped__
|
||||||
){return s})):$?"object"==typeof module&&module&&module.exports==$?(module.exports=s)._=s:$._=s:e._=s})(this);
|
,arguments);return this.__chain__&&(e=new s(e),e.__chain__=n),e}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(e._=s,define(function(){return s})):$?"object"==typeof module&&module&&module.exports==$?(module.exports=s)._=s:$._=s:e._=s})(this);
|
||||||
57
lodash.underscore.min.js
vendored
57
lodash.underscore.min.js
vendored
@@ -1,31 +1,32 @@
|
|||||||
/*!
|
/*!
|
||||||
Lo-Dash 0.9.2 lodash.com/license
|
Lo-Dash 0.10.0 (Custom Build) lodash.com/license
|
||||||
|
Build: `lodash underscore -m -o ./lodash.underscore.min.js`
|
||||||
Underscore.js 1.4.2 underscorejs.org/LICENSE
|
Underscore.js 1.4.2 underscorejs.org/LICENSE
|
||||||
*/
|
*/
|
||||||
;(function(e,t){function n(e){if(e&&e.__wrapped__)return e;if(!(this instanceof n))return new n(e);this.__wrapped__=e}function r(e,n){var r=e.b,i=n.b,e=e.a,n=n.a;if(e!==n){if(e>n||e===t)return 1;if(e<n||n===t)return-1}return r<i?-1:1}function i(e,t,n){function r(){var i=arguments,s=t;return n.length&&(i=i.length?n.concat(Z.call(i)):n),this instanceof r?(a.prototype=e.prototype,s=new a,i=e.apply(s,i),v(i)?i:s):e.apply(s,i)}return r}function s(e,n){return e?"function"!=typeof e?function(t){return t[
|
;(function(e,t){function n(e){if(e&&e.__wrapped__)return e;if(!(this instanceof n))return new n(e);this.__wrapped__=e}function r(e,n){var r=e.b,i=n.b,e=e.a,n=n.a;if(e!==n){if(e>n||e===t)return 1;if(e<n||n===t)return-1}return r<i?-1:1}function i(e,t,n){function r(){var i=arguments,s=t;return n.length&&(i=i.length?n.concat(tt.call(i)):n),this instanceof r?(a.prototype=e.prototype,s=new a,i=e.apply(s,i),g(i)?i:s):e.apply(s,i)}return r}function s(e,n){return e?"function"!=typeof e?function(t){return t
|
||||||
e]}:n!==t?function(t,r,i){return e.call(n,t,r,i)}:e:H}function o(e){return"\\"+yt[e]}function u(e){return Et[e]}function a(){}function f(e){return St[e]}function l(e){var t=[];return wt(e,function(e,n){t.push(n)}),t}function c(e){var t=[];return bt(e,function(e,n){d(e)&&t.push(n)}),t.sort()}function h(e){var t={};return wt(e,function(e,n){t[e]=n}),t}function p(e,t,n,r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return e===t;var i=et.call(e);if(i!=et.call(t))return!1;switch(i){case ft:case lt
|
[e]}:n!==t?function(t,r,i){return e.call(n,t,r,i)}:e:j}function o(e){return"\\"+wt[e]}function u(e){return xt[e]}function a(){}function f(e){return Tt[e]}function l(e){if(!e)return e;for(var t=1,n=arguments.length;t<n;t++){var r=arguments[t];if(r)for(var i in r)e[i]=r[i]}return e}function c(e){var t=[];return St(e,function(e,n){t.push(n)}),t}function h(e){if(!e)return e;for(var t=1,n=arguments.length;t<n;t++){var r=arguments[t];if(r)for(var i in r)null==e[i]&&(e[i]=r[i])}return e}function p(e){var t=
|
||||||
:return+e==+t;case ct:return e!=+e?t!=+t:0==e?1/e==1/t:e==+t;case pt:case dt:return e==t+""}var s=i==at;if(!s){if(e.__wrapped__||t.__wrapped__)return p(e.__wrapped__||e,t.__wrapped__||t);if(i!=ht)return!1;var i=e.constructor,o=t.constructor;if(i!=o&&(!d(i)||!(i instanceof i&&d(o)&&o instanceof o)))return!1}n||(n=[]),r||(r=[]);for(i=n.length;i--;)if(n[i]==e)return r[i]==t;i=!0,o=0,n.push(e),r.push(t);if(s){o=e.length;if(i=o==t.length)for(;o--&&(i=p(e[o],t[o],n,r)););return i}for(var u in e)if(G.call
|
[];return Et(e,function(e,n){m(e)&&t.push(n)}),t.sort()}function d(e){var t={};return St(e,function(e,n){t[e]=n}),t}function v(e,t,n,r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return e===t;var i=nt.call(e);if(i!=nt.call(t))return!1;switch(i){case ct:case ht:return+e==+t;case pt:return e!=+e?t!=+t:0==e?1/e==1/t:e==+t;case vt:case mt:return e==t+""}var s=i==lt;if(!s){if(e.__wrapped__||t.__wrapped__)return v(e.__wrapped__||e,t.__wrapped__||t);if(i!=dt)return!1;var i=e.constructor,o=t.constructor
|
||||||
(e,u)&&(o++,!G.call(t,u)||!p(e[u],t[u],n,r)))return!1;for(u in t)if(G.call(t,u)&&!(o--))return!1;return!0}function d(e){return"function"==typeof e}function v(e){return e?gt[typeof e]:!1}function m(e){return et.call(e)==dt}function g(e){var t=[];return wt(e,function(e){t.push(e)}),t}function y(e,t){return"number"==typeof (e?e.length:0)?-1<O(e,t):k(e,function(e){return e===t})}function b(e,t,n){var r=!0,t=s(t,n);if(Nt(e))for(var n=-1,i=e.length;++n<i&&(r=!!t(e[n],n,e)););else kt(e,function(e,n,i){return!
|
;if(i!=o&&(!m(i)||!(i instanceof i&&m(o)&&o instanceof o)))return!1}n||(n=[]),r||(r=[]);for(i=n.length;i--;)if(n[i]==e)return r[i]==t;i=!0,o=0,n.push(e),r.push(t);if(s){o=e.length;if(i=o==t.length)for(;o--&&(i=v(e[o],t[o],n,r)););return i}for(var u in e)if(Z.call(e,u)&&(o++,!Z.call(t,u)||!v(e[u],t[u],n,r)))return!1;for(u in t)if(Z.call(t,u)&&!(o--))return!1;return!0}function m(e){return"function"==typeof e}function g(e){return e?bt[typeof e]:!1}function y(e){return nt.call(e)==mt}function b(e){var t=
|
||||||
(r=!!t(e,n,i))&&R});return r}function w(e,t,n){var r=[],t=s(t,n);return kt(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r}function E(e,t,n){var r,t=s(t,n);return kt(e,function(e,n,i){if(t(e,n,i))return r=e,!1}),r}function S(e,t,n){var r=-1,i=e?e.length:0,o=Array("number"==typeof i?i:0),t=s(t,n);if(Nt(e))for(;++r<i;)o[r]=t(e[r],r,e);else kt(e,function(e,n,i){o[++r]=t(e,n,i)});return o}function x(e,t,n){var r=-Infinity,i=-1,o=e?e.length:0,u=r;if(t||!Nt(e))t=s(t,n),kt(e,function(e,n,i){n=t(e,n,i),n>r&&(r=
|
[];return St(e,function(e){t.push(e)}),t}function w(e,t){var n=!1;return"number"==typeof (e?e.length:0)?n=-1<_(e,t):kt(e,function(e){return(n=e===t)&&z}),n}function E(e,t,n){var r=!0,t=s(t,n);if(Nt(e))for(var n=-1,i=e.length;++n<i&&(r=!!t(e[n],n,e)););else kt(e,function(e,n,i){return!(r=!!t(e,n,i))&&z});return r}function S(e,t,n){var r=[],t=s(t,n);if(Nt(e))for(var n=-1,i=e.length;++n<i;){var o=e[n];t(o,n,e)&&r.push(o)}else kt(e,function(e,n,i){t(e,n,i)&&r.push(e)});return r}function x(e,t,n){var r
|
||||||
n,u=e)});else for(;++i<o;)e[i]>u&&(u=e[i]);return u}function T(e,t){var n=[];return kt(e,function(e){n.push(e[t])}),n}function N(e,t,n,r){var i=3>arguments.length,t=s(t,r);return kt(e,function(e,r,s){n=i?(i=!1,e):t(n,e,r,s)}),n}function C(e,t,n,r){var i=e?e.length:0,s=3>arguments.length;if("number"!=typeof i)var o=Ct(e),i=o.length;return kt(e,function(u,a,f){a=o?o[--i]:--i,n=s?(s=!1,e[a]):t.call(r,n,e[a],a,f)}),n}function k(e,t,n){var r,t=s(t,n);if(Nt(e))for(var n=-1,i=e.length;++n<i&&!(r=t(e[n],
|
,t=s(t,n);return kt(e,function(e,n,i){if(t(e,n,i))return r=e,z}),r}function T(e,t,n){var r=-1,i=e?e.length:0,o=Array("number"==typeof i?i:0),t=s(t,n);if(Nt(e))for(;++r<i;)o[r]=t(e[r],r,e);else kt(e,function(e,n,i){o[++r]=t(e,n,i)});return o}function N(e,t,n){var r=-Infinity,i=-1,o=e?e.length:0,u=r;if(t||!Nt(e))t=s(t,n),kt(e,function(e,n,i){n=t(e,n,i),n>r&&(r=n,u=e)});else for(;++i<o;)e[i]>u&&(u=e[i]);return u}function C(e,t){var n=[];return kt(e,function(e){n.push(e[t])}),n}function k(e,t,n,r){var i=3>
|
||||||
n,e)););else kt(e,function(e,n,i){return(r=t(e,n,i))&&R});return!!r}function L(e,t,n){if(e)return null==t||n?e[0]:Z.call(e,0,t)}function A(e,t){for(var n=-1,r=e?e.length:0,i=[];++n<r;){var s=e[n];Nt(s)?Y.apply(i,t?s:A(s)):i.push(s)}return i}function O(e,t,n){var r=-1,i=e?e.length:0;if("number"==typeof n)r=(0>n?st(0,i+n):n||0)-1;else if(n)return r=_(e,t),e[r]===t?r:-1;for(;++r<i;)if(e[r]===t)return r;return-1}function M(e,t,n){return e?Z.call(e,null==t||n?1:t):[]}function _(e,t,n,r){for(var i=0,o=
|
arguments.length,t=s(t,r);return kt(e,function(e,r,s){n=i?(i=!1,e):t(n,e,r,s)}),n}function L(e,t,n,r){var i=e?e.length:0,s=3>arguments.length;if("number"!=typeof i)var o=Ct(e),i=o.length;return kt(e,function(u,a,f){a=o?o[--i]:--i,n=s?(s=!1,e[a]):t.call(r,n,e[a],a,f)}),n}function A(e,t,n){var r,t=s(t,n);if(Nt(e))for(var n=-1,i=e.length;++n<i&&!(r=t(e[n],n,e)););else kt(e,function(e,n,i){return(r=t(e,n,i))&&z});return!!r}function O(e,t,n){if(e)return null==t||n?e[0]:tt.call(e,0,t)}function M(e,t){for(
|
||||||
e?e.length:i,n=n?s(n,r):H,t=n(t);i<o;)r=i+o>>>1,n(e[r])<t?i=r+1:o=r;return i}function D(e,t,n,r){var i=-1,o=e?e.length:0,u=[],a=u;n&&(a=[],n=s(n,r));for(;++i<o;){var r=e[i],f=n?n(r,i,e):r;if(t?!i||a[a.length-1]!==f:0>O(a,f))n&&a.push(f),u.push(r)}return u}function P(e,t){return mt||tt&&2<arguments.length?tt.call.apply(tt,arguments):i(e,t,Z.call(arguments,2))}function H(e){return e}function B(e){kt(c(e),function(t){var r=n[t]=e[t];n.prototype[t]=function(){var e=[this.__wrapped__];return Y.apply(e
|
var n=-1,r=e?e.length:0,i=[];++n<r;){var s=e[n];Nt(s)?et.apply(i,t?s:M(s)):i.push(s)}return i}function _(e,t,n){var r=-1,i=e?e.length:0;if("number"==typeof n)r=(0>n?ut(0,i+n):n||0)-1;else if(n)return r=P(e,t),e[r]===t?r:-1;for(;++r<i;)if(e[r]===t)return r;return-1}function D(e,t,n){return e?tt.call(e,null==t||n?1:t):[]}function P(e,t,n,r){for(var i=0,o=e?e.length:i,n=n?s(n,r):j,t=n(t);i<o;)r=i+o>>>1,n(e[r])<t?i=r+1:o=r;return i}function H(e,t,n,r){var i=-1,o=e?e.length:0,u=[],a=u;n&&(a=[],n=s(n,r
|
||||||
,arguments),e=r.apply(n,e),this.__chain__&&(e=new n(e),e.__chain__=!0),e}})}var j="object"==typeof exports&&exports,F="object"==typeof global&&global;F.global===F&&(e=F);var I=[],F=new function(){},q=0,R=F,U=e._,z=/&(?:amp|lt|gt|quot|#x27);/g,W=RegExp("^"+(F.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),X=/($^)/,V=/[&<>"']/g,$=/['\n\r\t\u2028\u2029\\]/g,J=Math.ceil,K=I.concat,Q=Math.floor,G=F.hasOwnProperty,Y=I.push,Z=I.slice,et=F.toString,tt=W.test
|
));for(;++i<o;){var r=e[i],f=n?n(r,i,e):r;if(t?!i||a[a.length-1]!==f:0>_(a,f))n&&a.push(f),u.push(r)}return u}function B(e,t){return yt||rt&&2<arguments.length?rt.call.apply(rt,arguments):i(e,t,tt.call(arguments,2))}function j(e){return e}function F(e){kt(p(e),function(t){var r=n[t]=e[t];n.prototype[t]=function(){var e=[this.__wrapped__];return et.apply(e,arguments),e=r.apply(n,e),this.__chain__&&(e=new n(e),e.__chain__=!0),e}})}var I="object"==typeof exports&&exports,q="object"==typeof global&&global
|
||||||
(tt=Z.bind)&&tt,nt=W.test(nt=Array.isArray)&&nt,rt=e.isFinite,it=W.test(it=Object.keys)&&it,st=Math.max,ot=Math.min,ut=Math.random,at="[object Array]",ft="[object Boolean]",lt="[object Date]",ct="[object Number]",ht="[object Object]",pt="[object RegExp]",dt="[object String]",vt=(vt={0:1,length:1},I.splice.call(vt,0,1),vt[0]),mt=tt&&/\n|Opera/.test(tt+et.call(e.opera)),gt={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,"undefined":!1},yt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028"
|
;q.global===q&&(e=q);var R=[],q=new function(){},U=0,z=q,W=e._,X=/&(?:amp|lt|gt|quot|#x27);/g,V=RegExp("^"+(q.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),$=/($^)/,J=/[&<>"']/g,K=/['\n\r\t\u2028\u2029\\]/g,Q=Math.ceil,G=R.concat,Y=Math.floor,Z=q.hasOwnProperty,et=R.push,tt=R.slice,nt=q.toString,rt=V.test(rt=tt.bind)&&rt,it=V.test(it=Array.isArray)&&it,st=e.isFinite,ot=V.test(ot=Object.keys)&&ot,ut=Math.max,at=Math.min,ft=Math.random,lt="[object Array]"
|
||||||
:"u2028","\u2029":"u2029"};n.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},n.isArguments=function(e){return"[object Arguments]"==et.call(e)},n.isArguments(arguments)||(n.isArguments=function(e){return e?G.call(e,"callee"):!1});var bt=function(e,t){var n,r;if(!e)return e;t=s(t);for(n in e)if(r=e[n],t(r,n,e)===R)break;return e},wt=function(e,t){var n,r;if(!e)return e;t=s(t);for(n in e)if(G.call(e,n)&&(r=e[n],t(r,n,e)===R))break;return e
|
,ct="[object Boolean]",ht="[object Date]",pt="[object Number]",dt="[object Object]",vt="[object RegExp]",mt="[object String]",gt=(gt={0:1,length:1},R.splice.call(gt,0,1),gt[0]),yt=rt&&/\n|Opera/.test(rt+nt.call(e.opera)),bt={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,"undefined":!1},wt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};n.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},n.isArguments=
|
||||||
},Et={"&":"&","<":"<",">":">",'"':""","'":"'"},St=h(Et),xt=function(e){var t,n,r=e;if(!e)return e;for(var i=1,s=arguments.length;i<s;i++)if(r=arguments[i])for(t in r)n=r[t],null==e[t]&&(e[t]=n);return e},Tt=function(e){var t,n,r=e;if(!e)return e;for(var i=1,s=arguments.length;i<s;i++)if(r=arguments[i])for(t in r)n=r[t],e[t]=n;return e},Nt=nt||function(e){return et.call(e)==at};d(/x/)&&(d=function(e){return"[object Function]"==et.call(e)});var Ct=it?function(e){return v(e)?it(e
|
function(e){return"[object Arguments]"==nt.call(e)},n.isArguments(arguments)||(n.isArguments=function(e){return e?Z.call(e,"callee"):!1});var Et=function(e,t){var n,r;if(!e)return e;t=s(t);for(n in e)if(r=e[n],t(r,n,e)===z)break;return e},St=function(e,t){var n,r;if(!e)return e;t=s(t);for(n in e)if(Z.call(e,n)&&(r=e[n],t(r,n,e)===z))break;return e},xt={"&":"&","<":"<",">":">",'"':""","'":"'"},Tt=d(xt),Nt=it||function(e){return nt.call(e)==lt};m(/x/)&&(m=function(e){return"[object Function]"==
|
||||||
):[]}:l,kt=function(e,t,n){var r;if(!e)return e;var t=s(t,n),i=e.length,n=-1;if("number"==typeof i){for(;++n<i;)if(r=e[n],t(r,n,e)===R)return e}else for(n in e)if(G.call(e,n)&&(r=e[n],t(r,n,e)===R))return e};n.VERSION="0.9.2",n.after=function(e,t){return 1>e?t():function(){if(1>--e)return t.apply(this,arguments)}},n.bind=P,n.bindAll=function(e){for(var t=arguments,n=1<t.length?0:(t=c(e),-1),r=t.length;++n<r;){var i=t[n];e[i]=P(e[i],e)}return e},n.chain=function(e){return e=new n(e),e.__chain__=!0
|
nt.call(e)});var Ct=ot?function(e){return g(e)?ot(e):[]}:c,kt=function(e,t,n){var r;if(!e)return e;var t=s(t,n),i=e.length,n=-1;if("number"==typeof i){for(;++n<i;)if(r=e[n],t(r,n,e)===z)return e}else for(n in e)if(Z.call(e,n)&&(r=e[n],t(r,n,e)===z))return e};n.VERSION="0.10.0",n.after=function(e,t){return 1>e?t():function(){if(1>--e)return t.apply(this,arguments)}},n.bind=B,n.bindAll=function(e){for(var t=arguments,n=1<t.length?0:(t=p(e),-1),r=t.length;++n<r;){var i=t[n];e[i]=B(e[i],e)}return e},
|
||||||
,e},n.clone=function(e){return e&>[typeof e]?Nt(e)?Z.call(e):Tt({},e):e},n.compact=function(e){for(var t=-1,n=e?e.length:0,r=[];++t<n;){var i=e[t];i&&r.push(i)}return r},n.compose=function(){var e=arguments;return function(){for(var t=arguments,n=e.length;n--;)t=[e[n].apply(this,t)];return t[0]}},n.contains=y,n.countBy=function(e,t,n){var r={},t=s(t,n);return kt(e,function(e,n,i){n=t(e,n,i),G.call(r,n)?r[n]++:r[n]=1}),r},n.debounce=function(e,t,n){function r(){u=null,n||(s=e.apply(o,i))}var i,s
|
n.chain=function(e){return e=new n(e),e.__chain__=!0,e},n.clone=function(e){return e&&bt[typeof e]?Nt(e)?tt.call(e):l({},e):e},n.compact=function(e){for(var t=-1,n=e?e.length:0,r=[];++t<n;){var i=e[t];i&&r.push(i)}return r},n.compose=function(){var e=arguments;return function(){for(var t=arguments,n=e.length;n--;)t=[e[n].apply(this,t)];return t[0]}},n.contains=w,n.countBy=function(e,t,n){var r={},t=s(t,n);return kt(e,function(e,n,i){n=t(e,n,i),Z.call(r,n)?r[n]++:r[n]=1}),r},n.debounce=function(e,
|
||||||
,o,u;return function(){var a=n&&!u;return i=arguments,o=this,clearTimeout(u),u=setTimeout(r,t),a&&(s=e.apply(o,i)),s}},n.defaults=xt,n.defer=function(e){var n=Z.call(arguments,1);return setTimeout(function(){e.apply(t,n)},1)},n.delay=function(e,n){var r=Z.call(arguments,2);return setTimeout(function(){e.apply(t,r)},n)},n.difference=function(e){for(var t=-1,n=e.length,r=K.apply(I,arguments),i=[];++t<n;){var s=e[t];0>O(r,s,n)&&i.push(s)}return i},n.escape=function(e){return null==e?"":(e+"").replace
|
t,n){function r(){u=null,n||(s=e.apply(o,i))}var i,s,o,u;return function(){var a=n&&!u;return i=arguments,o=this,clearTimeout(u),u=setTimeout(r,t),a&&(s=e.apply(o,i)),s}},n.defaults=h,n.defer=function(e){var n=tt.call(arguments,1);return setTimeout(function(){e.apply(t,n)},1)},n.delay=function(e,n){var r=tt.call(arguments,2);return setTimeout(function(){e.apply(t,r)},n)},n.difference=function(e){for(var t=-1,n=e.length,r=G.apply(R,arguments),i=[];++t<n;){var s=e[t];0>_(r,s,n)&&i.push(s)}return i}
|
||||||
(V,u)},n.every=b,n.extend=Tt,n.filter=w,n.find=E,n.first=L,n.flatten=A,n.forEach=kt,n.functions=c,n.groupBy=function(e,t,n){var r={},t=s(t,n);return kt(e,function(e,n,i){n=t(e,n,i),(G.call(r,n)?r[n]:r[n]=[]).push(e)}),r},n.has=function(e,t){return e?G.call(e,t):!1},n.identity=H,n.indexOf=O,n.initial=function(e,t,n){return e?Z.call(e,0,-(null==t||n?1:t)):[]},n.intersection=function(e){var t=arguments,n=t.length,r=[];return kt(e,function(e){if(0>O(r,e)){for(var i=n;--i;)if(0>O(t[i],e))return;r.push
|
,n.escape=function(e){return null==e?"":(e+"").replace(J,u)},n.every=E,n.filter=S,n.find=x,n.first=O,n.flatten=M,n.forEach=kt,n.functions=p,n.groupBy=function(e,t,n){var r={},t=s(t,n);return kt(e,function(e,n,i){n=t(e,n,i),(Z.call(r,n)?r[n]:r[n]=[]).push(e)}),r},n.has=function(e,t){return e?Z.call(e,t):!1},n.identity=j,n.indexOf=_,n.initial=function(e,t,n){return e?tt.call(e,0,-(null==t||n?1:t)):[]},n.intersection=function(e){var t=arguments,n=t.length,r=[];return kt(e,function(e){if(0>_(r,e)){for(
|
||||||
(e)}}),r},n.invert=h,n.invoke=function(e,t){var n=Z.call(arguments,2),r="function"==typeof t,i=[];return kt(e,function(e){i.push((r?t:e[t]).apply(e,n))}),i},n.isArray=Nt,n.isBoolean=function(e){return!0===e||!1===e||et.call(e)==ft},n.isDate=function(e){return et.call(e)==lt},n.isElement=function(e){return e?1===e.nodeType:!1},n.isEmpty=function(e){if(!e)return!0;if(Nt(e)||m(e))return!e.length;for(var t in e)if(G.call(e,t))return!1;return!0},n.isEqual=p,n.isFinite=function(e){return rt(e)&&et.call
|
var i=n;--i;)if(0>_(t[i],e))return;r.push(e)}}),r},n.invert=d,n.invoke=function(e,t){var n=tt.call(arguments,2),r="function"==typeof t,i=[];return kt(e,function(e){i.push((r?t:e[t]).apply(e,n))}),i},n.isArray=Nt,n.isBoolean=function(e){return!0===e||!1===e||nt.call(e)==ct},n.isDate=function(e){return nt.call(e)==ht},n.isElement=function(e){return e?1===e.nodeType:!1},n.isEmpty=function(e){if(!e)return!0;if(Nt(e)||y(e))return!e.length;for(var t in e)if(Z.call(e,t))return!1;return!0},n.isEqual=v,n.
|
||||||
(e)==ct},n.isFunction=d,n.isNaN=function(e){return et.call(e)==ct&&e!=+e},n.isNull=function(e){return null===e},n.isNumber=function(e){return et.call(e)==ct},n.isObject=v,n.isRegExp=function(e){return et.call(e)==pt},n.isString=m,n.isUndefined=function(e){return e===t},n.keys=Ct,n.last=function(e,t,n){if(e){var r=e.length;return null==t||n?e[r-1]:Z.call(e,-t||r)}},n.lastIndexOf=function(e,t,n){var r=e?e.length:0;for("number"==typeof n&&(r=(0>n?st(0,r+n):ot(n,r-1))+1);r--;)if(e[r]===t)return r;return-1
|
isFinite=function(e){return st(e)&&nt.call(e)==pt},n.isFunction=m,n.isNaN=function(e){return nt.call(e)==pt&&e!=+e},n.isNull=function(e){return null===e},n.isNumber=function(e){return nt.call(e)==pt},n.isObject=g,n.isRegExp=function(e){return nt.call(e)==vt},n.isString=y,n.isUndefined=function(e){return e===t},n.keys=Ct,n.last=function(e,t,n){if(e){var r=e.length;return null==t||n?e[r-1]:tt.call(e,-t||r)}},n.lastIndexOf=function(e,t,n){var r=e?e.length:0;for("number"==typeof n&&(r=(0>n?ut(0,r+n):
|
||||||
},n.map=S,n.max=x,n.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return G.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},n.min=function(e,t,n){var r=Infinity,i=-1,o=e?e.length:0,u=r;if(t||!Nt(e))t=s(t,n),kt(e,function(e,n,i){n=t(e,n,i),n<r&&(r=n,u=e)});else for(;++i<o;)e[i]<u&&(u=e[i]);return u},n.mixin=B,n.noConflict=function(){return e._=U,this},n.object=function(e,t){for(var n=-1,r=e?e.length:0,i={};++n<r;){var s=e[n];t?i[s]=t[n]:i[s[0]]=s[1]}return i
|
at(n,r-1))+1);r--;)if(e[r]===t)return r;return-1},n.map=T,n.max=N,n.memoize=function(e,t){var n={};return function(){var r=t?t.apply(this,arguments):arguments[0];return Z.call(n,r)?n[r]:n[r]=e.apply(this,arguments)}},n.min=function(e,t,n){var r=Infinity,i=-1,o=e?e.length:0,u=r;if(t||!Nt(e))t=s(t,n),kt(e,function(e,n,i){n=t(e,n,i),n<r&&(r=n,u=e)});else for(;++i<o;)e[i]<u&&(u=e[i]);return u},n.mixin=F,n.noConflict=function(){return e._=W,this},n.object=function(e,t){for(var n=-1,r=e?e.length:0,i={}
|
||||||
},n.omit=function(e){var t=K.apply(I,arguments),n={};return bt(e,function(e,r){0>O(t,r,1)&&(n[r]=e)}),n},n.once=function(e){var t,n=!1;return function(){return n?t:(n=!0,t=e.apply(this,arguments),e=null,t)}},n.pairs=function(e){var t=[];return wt(e,function(e,n){t.push([n,e])}),t},n.pick=function(e){for(var t=0,n=K.apply(I,arguments),r=n.length,i={};++t<r;){var s=n[t];s in e&&(i[s]=e[s])}return i},n.pluck=T,n.random=function(e,t){return null==e&&null==t&&(t=1),e=+e||0,null==t&&(t=e,e=0),e+Q(ut()*
|
;++n<r;){var s=e[n];t?i[s]=t[n]:i[s[0]]=s[1]}return i},n.omit=function(e){var t=G.apply(R,arguments),n={};return Et(e,function(e,r){0>_(t,r,1)&&(n[r]=e)}),n},n.once=function(e){var t,n=!1;return function(){return n?t:(n=!0,t=e.apply(this,arguments),e=null,t)}},n.pairs=function(e){var t=[];return St(e,function(e,n){t.push([n,e])}),t},n.pick=function(e){for(var t=0,n=G.apply(R,arguments),r=n.length,i={};++t<r;){var s=n[t];s in e&&(i[s]=e[s])}return i},n.pluck=C,n.random=function(e,t){return null==e&&
|
||||||
((+t||0)-e+1))},n.range=function(e,t,n){e=+e||0,n=+n||1,null==t&&(t=e,e=0);for(var r=-1,t=st(0,J((t-e)/n)),i=Array(t);++r<t;)i[r]=e,e+=n;return i},n.reduce=N,n.reduceRight=C,n.reject=function(e,t,n){return t=s(t,n),w(e,function(e,n,r){return!t(e,n,r)})},n.rest=M,n.result=function(e,t){var n=e?e[t]:null;return d(n)?e[t]():n},n.shuffle=function(e){var t=-1,n=Array(e?e.length:0);return kt(e,function(e){var r=Q(ut()*(++t+1));n[t]=n[r],n[r]=e}),n},n.size=function(e){var t=e?e.length:0;return"number"==typeof
|
null==t&&(t=1),e=+e||0,null==t&&(t=e,e=0),e+Y(ft()*((+t||0)-e+1))},n.range=function(e,t,n){e=+e||0,n=+n||1,null==t&&(t=e,e=0);for(var r=-1,t=ut(0,Q((t-e)/n)),i=Array(t);++r<t;)i[r]=e,e+=n;return i},n.reduce=k,n.reduceRight=L,n.reject=function(e,t,n){return t=s(t,n),S(e,function(e,n,r){return!t(e,n,r)})},n.rest=D,n.result=function(e,t){var n=e?e[t]:null;return m(n)?e[t]():n},n.shuffle=function(e){var t=-1,n=Array(e?e.length:0);return kt(e,function(e){var r=Y(ft()*(++t+1));n[t]=n[r],n[r]=e}),n},n.size=
|
||||||
t?t:Ct(e).length},n.some=k,n.sortBy=function(e,t,n){var i=[],t=s(t,n);kt(e,function(e,n,r){i.push({a:t(e,n,r),b:n,c:e})}),e=i.length;for(i.sort(r);e--;)i[e]=i[e].c;return i},n.sortedIndex=_,n.tap=function(e,t){return t(e),e},n.template=function(e,t,r){e||(e="");var r=xt({},r,n.templateSettings),i=0,s="__p += '",u=r.variable;e.replace(RegExp((r.escape||X).source+"|"+(r.interpolate||X).source+"|"+(r.evaluate||X).source+"|$","g"),function(t,n,r,u,a){s+=e.slice(i,a).replace($,o),s+=n?"'+_['escape']("+
|
function(e){var t=e?e.length:0;return"number"==typeof t?t:Ct(e).length},n.some=A,n.sortBy=function(e,t,n){var i=[],t=s(t,n);kt(e,function(e,n,r){i.push({a:t(e,n,r),b:n,c:e})}),e=i.length;for(i.sort(r);e--;)i[e]=i[e].c;return i},n.sortedIndex=P,n.tap=function(e,t){return t(e),e},n.template=function(e,t,r){e||(e="");var r=h({},r,n.templateSettings),i=0,s="__p += '",u=r.variable;e.replace(RegExp((r.escape||$).source+"|"+(r.interpolate||$).source+"|"+(r.evaluate||$).source+"|$","g"),function(t,n,r,u,
|
||||||
n+")+'":u?"';"+u+";__p+='":r?"'+((__t=("+r+"))==null?'':__t)+'":"",i=a+t.length}),s+="';",u||(u="obj",s="with("+u+"||{}){"+s+"}"),s="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+s+"return __p}";try{var a=Function("_","return "+s)(n)}catch(f){throw f.source=s,f}return t?a(t):(a.source=s,a)},n.throttle=function(e,t){function n(){u=new Date,o=null,i=e.apply(s,r)}var r,i,s,o,u=0;return function(){var a=new Date,f=t-(a-u);return r=arguments,s=this
|
a){s+=e.slice(i,a).replace(K,o),s+=n?"'+_['escape']("+n+")+'":u?"';"+u+";__p+='":r?"'+((__t=("+r+"))==null?'':__t)+'":"",i=a+t.length}),s+="';",u||(u="obj",s="with("+u+"||{}){"+s+"}"),s="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+s+"return __p}";try{var a=Function("_","return "+s)(n)}catch(f){throw f.source=s,f}return t?a(t):(a.source=s,a)},n.throttle=function(e,t){function n(){u=new Date,o=null,i=e.apply(s,r)}var r,i,s,o,u=0;return function(
|
||||||
,0>=f?(clearTimeout(o),u=a,i=e.apply(s,r)):o||(o=setTimeout(n,f)),i}},n.times=function(e,t,n){for(var e=+e||0,r=-1,i=Array(e);++r<e;)i[r]=t.call(n,r);return i},n.toArray=function(e){return e&&"number"==typeof e.length?"string"==typeof e?e.split(""):Z.call(e):g(e)},n.unescape=function(e){return null==e?"":(e+"").replace(z,f)},n.union=function(){return D(K.apply(I,arguments))},n.uniq=D,n.uniqueId=function(e){var t=q++;return e?e+t:t},n.values=g,n.where=function(e,t){var n=[];return bt(t,function(e,
|
){var a=new Date,f=t-(a-u);return r=arguments,s=this,0>=f?(clearTimeout(o),u=a,i=e.apply(s,r)):o||(o=setTimeout(n,f)),i}},n.times=function(e,t,n){for(var e=+e||0,r=-1,i=Array(e);++r<e;)i[r]=t.call(n,r);return i},n.toArray=function(e){return e&&"number"==typeof e.length?"string"==typeof e?e.split(""):tt.call(e):b(e)},n.unescape=function(e){return null==e?"":(e+"").replace(X,f)},n.union=function(){return H(G.apply(R,arguments))},n.uniq=H,n.uniqueId=function(e){var t=U++;return e?e+t:t},n.values=b,n
|
||||||
t){n.push(t)}),w(e,function(e){for(var r=n.length;r--;){var i=e[n[r]]===t[n[r]];if(!i)break}return!!i})},n.without=function(e){for(var t=-1,n=e.length,r=[];++t<n;){var i=e[t];0>O(arguments,i,1)&&r.push(i)}return r},n.wrap=function(e,t){return function(){var n=[e];return Y.apply(n,arguments),t.apply(this,n)}},n.zip=function(e){for(var t=-1,n=e?x(T(arguments,"length")):0,r=Array(n);++t<n;)r[t]=T(arguments,t);return r},n.all=b,n.any=k,n.collect=S,n.detect=E,n.drop=M,n.each=kt,n.foldl=N,n.foldr=C,n.head=
|
.where=function(e,t){var n=Ct(t);return S(e,function(e){for(var r=n.length;r--;){var i=e[n[r]]===t[n[r]];if(!i)break}return!!i})},n.without=function(e){for(var t=-1,n=e.length,r=[];++t<n;){var i=e[t];0>_(arguments,i,1)&&r.push(i)}return r},n.wrap=function(e,t){return function(){var n=[e];return et.apply(n,arguments),t.apply(this,n)}},n.zip=function(e){for(var t=-1,n=e?N(C(arguments,"length")):0,r=Array(n);++t<n;)r[t]=C(arguments,t);return r},n.all=E,n.any=A,n.collect=T,n.detect=x,n.drop=D,n.each=
|
||||||
L,n.include=y,n.inject=N,n.methods=c,n.select=w,n.tail=M,n.take=L,n.unique=D,B(n),n.prototype.chain=function(){return this.__chain__=!0,this},n.prototype.value=function(){return this.__wrapped__},kt("pop push reverse shift sort splice unshift".split(" "),function(e){var t=I[e];n.prototype[e]=function(){var e=this.__wrapped__;return t.apply(e,arguments),vt&&e.length===0&&delete e[0],this.__chain__&&(e=new n(e),e.__chain__=!0),e}}),kt(["concat","join","slice"],function(e){var t=I[e];n.prototype[e]=
|
kt,n.extend=l,n.foldl=k,n.foldr=L,n.head=O,n.include=w,n.inject=k,n.methods=p,n.select=S,n.tail=D,n.take=O,n.unique=H,F(n),n.prototype.chain=function(){return this.__chain__=!0,this},n.prototype.value=function(){return this.__wrapped__},kt("pop push reverse shift sort splice unshift".split(" "),function(e){var t=R[e];n.prototype[e]=function(){var e=this.__wrapped__;return t.apply(e,arguments),gt&&e.length===0&&delete e[0],this.__chain__&&(e=new n(e),e.__chain__=!0),e}}),kt(["concat","join","slice"
|
||||||
function(){var e=t.apply(this.__wrapped__,arguments);return this.__chain__&&(e=new n(e),e.__chain__=!0),e}}),j?"object"==typeof module&&module&&module.exports==j?(module.exports=n)._=n:j._=n:e._=n})(this);
|
],function(e){var t=R[e];n.prototype[e]=function(){var e=t.apply(this.__wrapped__,arguments);return this.__chain__&&(e=new n(e),e.__chain__=!0),e}}),I?"object"==typeof module&&module&&module.exports==I?(module.exports=n)._=n:I._=n:e._=n})(this);
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lodash",
|
"name": "lodash",
|
||||||
"version": "0.9.2",
|
"version": "0.10.0",
|
||||||
"description": "A drop-in replacement for Underscore.js delivering performance, bug fixes, and additional features.",
|
"description": "A drop-in replacement for Underscore.js delivering performance, bug fixes, and additional features.",
|
||||||
"homepage": "http://lodash.com",
|
"homepage": "http://lodash.com",
|
||||||
"main": "./lodash",
|
"main": "./lodash",
|
||||||
|
|||||||
1
test/template/c.jst
Normal file
1
test/template/c.jst
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Hello ${ name }!
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
'detect': 'find',
|
'detect': 'find',
|
||||||
'drop': 'rest',
|
'drop': 'rest',
|
||||||
'each': 'forEach',
|
'each': 'forEach',
|
||||||
|
'extend': 'assign',
|
||||||
'foldl': 'reduce',
|
'foldl': 'reduce',
|
||||||
'foldr': 'reduceRight',
|
'foldr': 'reduceRight',
|
||||||
'head': 'first',
|
'head': 'first',
|
||||||
@@ -36,6 +37,7 @@
|
|||||||
|
|
||||||
/** Used to associate real names with their aliases */
|
/** Used to associate real names with their aliases */
|
||||||
var realToAliasMap = {
|
var realToAliasMap = {
|
||||||
|
'assign': ['extend'],
|
||||||
'contains': ['include'],
|
'contains': ['include'],
|
||||||
'every': ['all'],
|
'every': ['all'],
|
||||||
'filter': ['select'],
|
'filter': ['select'],
|
||||||
@@ -130,11 +132,11 @@
|
|||||||
'after',
|
'after',
|
||||||
'bind',
|
'bind',
|
||||||
'bindAll',
|
'bindAll',
|
||||||
|
'bindKey',
|
||||||
'compose',
|
'compose',
|
||||||
'debounce',
|
'debounce',
|
||||||
'defer',
|
'defer',
|
||||||
'delay',
|
'delay',
|
||||||
'lateBind',
|
|
||||||
'memoize',
|
'memoize',
|
||||||
'once',
|
'once',
|
||||||
'partial',
|
'partial',
|
||||||
@@ -144,6 +146,7 @@
|
|||||||
|
|
||||||
/** List of "Objects" category methods */
|
/** List of "Objects" category methods */
|
||||||
var objectsMethods = [
|
var objectsMethods = [
|
||||||
|
'assign',
|
||||||
'clone',
|
'clone',
|
||||||
'defaults',
|
'defaults',
|
||||||
'extend',
|
'extend',
|
||||||
@@ -195,8 +198,11 @@
|
|||||||
var backboneDependencies = [
|
var backboneDependencies = [
|
||||||
'bind',
|
'bind',
|
||||||
'bindAll',
|
'bindAll',
|
||||||
|
'chain',
|
||||||
'clone',
|
'clone',
|
||||||
'contains',
|
'contains',
|
||||||
|
'countBy',
|
||||||
|
'defaults',
|
||||||
'escape',
|
'escape',
|
||||||
'every',
|
'every',
|
||||||
'extend',
|
'extend',
|
||||||
@@ -215,6 +221,7 @@
|
|||||||
'isFunction',
|
'isFunction',
|
||||||
'isObject',
|
'isObject',
|
||||||
'isRegExp',
|
'isRegExp',
|
||||||
|
'isString',
|
||||||
'keys',
|
'keys',
|
||||||
'last',
|
'last',
|
||||||
'lastIndexOf',
|
'lastIndexOf',
|
||||||
@@ -222,6 +229,7 @@
|
|||||||
'max',
|
'max',
|
||||||
'min',
|
'min',
|
||||||
'mixin',
|
'mixin',
|
||||||
|
'pick',
|
||||||
'reduce',
|
'reduce',
|
||||||
'reduceRight',
|
'reduceRight',
|
||||||
'reject',
|
'reject',
|
||||||
@@ -234,15 +242,16 @@
|
|||||||
'sortedIndex',
|
'sortedIndex',
|
||||||
'toArray',
|
'toArray',
|
||||||
'uniqueId',
|
'uniqueId',
|
||||||
|
'value',
|
||||||
'without'
|
'without'
|
||||||
];
|
];
|
||||||
|
|
||||||
/** List of methods used by Underscore */
|
/** List of methods used by Underscore */
|
||||||
var underscoreMethods = _.without.apply(_, [allMethods].concat([
|
var underscoreMethods = _.without.apply(_, [allMethods].concat([
|
||||||
|
'bindKey',
|
||||||
'forIn',
|
'forIn',
|
||||||
'forOwn',
|
'forOwn',
|
||||||
'isPlainObject',
|
'isPlainObject',
|
||||||
'lateBind',
|
|
||||||
'merge',
|
'merge',
|
||||||
'partial'
|
'partial'
|
||||||
]));
|
]));
|
||||||
@@ -393,7 +402,7 @@
|
|||||||
func(1, noop);
|
func(1, noop);
|
||||||
} else if (methodName == 'bindAll') {
|
} else if (methodName == 'bindAll') {
|
||||||
func({ 'noop': noop });
|
func({ 'noop': noop });
|
||||||
} else if (methodName == 'lateBind') {
|
} else if (methodName == 'bindKey') {
|
||||||
func(lodash, 'identity', array, string);
|
func(lodash, 'identity', array, string);
|
||||||
} else if (/^(?:bind|partial)$/.test(methodName)) {
|
} else if (/^(?:bind|partial)$/.test(methodName)) {
|
||||||
func(noop, object, array, string);
|
func(noop, object, array, string);
|
||||||
@@ -474,7 +483,8 @@
|
|||||||
|
|
||||||
var data = {
|
var data = {
|
||||||
'a': { 'people': ['moe', 'larry', 'curly'] },
|
'a': { 'people': ['moe', 'larry', 'curly'] },
|
||||||
'b': { 'epithet': 'stooge' }
|
'b': { 'epithet': 'stooge' },
|
||||||
|
'c': { 'name': 'ES6' }
|
||||||
};
|
};
|
||||||
|
|
||||||
context._ = _;
|
context._ = _;
|
||||||
@@ -483,6 +493,7 @@
|
|||||||
|
|
||||||
equal(templates.a(data.a).replace(/[\r\n]+/g, ''), '<ul><li>moe</li><li>larry</li><li>curly</li></ul>', basename);
|
equal(templates.a(data.a).replace(/[\r\n]+/g, ''), '<ul><li>moe</li><li>larry</li><li>curly</li></ul>', basename);
|
||||||
equal(templates.b(data.b), 'Hello stooge.', basename);
|
equal(templates.b(data.b), 'Hello stooge.', basename);
|
||||||
|
equal(templates.c(data.c), 'Hello ES6!', basename);
|
||||||
delete _.templates;
|
delete _.templates;
|
||||||
start();
|
start();
|
||||||
});
|
});
|
||||||
@@ -524,14 +535,14 @@
|
|||||||
context = createContext();
|
context = createContext();
|
||||||
|
|
||||||
var data = {
|
var data = {
|
||||||
'c': { 'name': 'Mustache' }
|
'd': { 'name': 'Mustache' }
|
||||||
};
|
};
|
||||||
|
|
||||||
context._ = _;
|
context._ = _;
|
||||||
vm.runInContext(source, context);
|
vm.runInContext(source, context);
|
||||||
var templates = context._.templates;
|
var templates = context._.templates;
|
||||||
|
|
||||||
equal(templates.c(data.c), 'Hello Mustache!', basename);
|
equal(templates.d(data.d), 'Hello Mustache!', basename);
|
||||||
start();
|
start();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -550,7 +561,7 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
asyncTest('debug custom', function () {
|
asyncTest('debug custom', function() {
|
||||||
var start = _.once(QUnit.start);
|
var start = _.once(QUnit.start);
|
||||||
build(['-d', '-s', 'backbone'], function(source, filePath) {
|
build(['-d', '-s', 'backbone'], function(source, filePath) {
|
||||||
equal(path.basename(filePath, '.js'), 'lodash.custom');
|
equal(path.basename(filePath, '.js'), 'lodash.custom');
|
||||||
@@ -566,7 +577,7 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
asyncTest('minified custom', function () {
|
asyncTest('minified custom', function() {
|
||||||
var start = _.once(QUnit.start);
|
var start = _.once(QUnit.start);
|
||||||
build(['-m', '-s', 'backbone'], function(source, filePath) {
|
build(['-m', '-s', 'backbone'], function(source, filePath) {
|
||||||
equal(path.basename(filePath, '.js'), 'lodash.custom.min');
|
equal(path.basename(filePath, '.js'), 'lodash.custom.min');
|
||||||
@@ -631,7 +642,7 @@
|
|||||||
|
|
||||||
build(['-s', 'underscore'], function(source, filePath) {
|
build(['-s', 'underscore'], function(source, filePath) {
|
||||||
var last,
|
var last,
|
||||||
array = [{ 'value': 1 }, { 'value': 2 }],
|
array = [{ 'a': 1, 'b': 2 }, { 'a': 2, 'b': 2 }],
|
||||||
basename = path.basename(filePath, '.js'),
|
basename = path.basename(filePath, '.js'),
|
||||||
context = createContext();
|
context = createContext();
|
||||||
|
|
||||||
@@ -642,15 +653,28 @@
|
|||||||
equal(object.fn(), 2, '_.bind: ' + basename);
|
equal(object.fn(), 2, '_.bind: ' + basename);
|
||||||
|
|
||||||
ok(lodash.clone(array, true)[0] === array[0], '_.clone should be shallow: ' + basename);
|
ok(lodash.clone(array, true)[0] === array[0], '_.clone should be shallow: ' + basename);
|
||||||
|
equal(lodash.contains({ 'a': 1, 'b': 2 }, 1), true, '_.contains should work with objects: ' + basename);
|
||||||
equal(lodash.contains([1, 2, 3], 1, 2), true, '_.contains should ignore `fromIndex`: ' + basename);
|
equal(lodash.contains([1, 2, 3], 1, 2), true, '_.contains should ignore `fromIndex`: ' + basename);
|
||||||
equal(lodash.every([true, false, true]), false, '_.every: ' + basename);
|
equal(lodash.every([true, false, true]), false, '_.every: ' + basename);
|
||||||
|
|
||||||
var actual = lodash.forEach(array, function(value) {
|
function Foo() {}
|
||||||
|
Foo.prototype = { 'a': 1 };
|
||||||
|
|
||||||
|
deepEqual(lodash.defaults({}, new Foo), Foo.prototype, '_.defaults should assign inherited `source` properties: ' + basename);
|
||||||
|
deepEqual(lodash.extend({}, new Foo), Foo.prototype, '_.extend should assign inherited `source` properties: ' + basename);
|
||||||
|
|
||||||
|
actual = lodash.find(array, function(value) {
|
||||||
|
return 'a' in value;
|
||||||
|
});
|
||||||
|
|
||||||
|
equal(actual, _.first(array), '_.find: ' + basename);
|
||||||
|
|
||||||
|
actual = lodash.forEach(array, function(value) {
|
||||||
last = value;
|
last = value;
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
equal(last.value, 2, '_.forEach should not exit early: ' + basename);
|
equal(last, _.last(array), '_.forEach should not exit early: ' + basename);
|
||||||
equal(actual, undefined, '_.forEach should return `undefined`: ' + basename);
|
equal(actual, undefined, '_.forEach should return `undefined`: ' + basename);
|
||||||
|
|
||||||
object = { 'length': 0, 'splice': Array.prototype.splice };
|
object = { 'length': 0, 'splice': Array.prototype.splice };
|
||||||
@@ -670,6 +694,7 @@
|
|||||||
|
|
||||||
equal(lodash.some([false, true, false]), true, '_.some: ' + basename);
|
equal(lodash.some([false, true, false]), true, '_.some: ' + basename);
|
||||||
equal(lodash.template('${a}', object), '${a}', '_.template should ignore ES6 delimiters: ' + basename);
|
equal(lodash.template('${a}', object), '${a}', '_.template should ignore ES6 delimiters: ' + basename);
|
||||||
|
|
||||||
start();
|
start();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -685,14 +710,15 @@
|
|||||||
var lodash = context._;
|
var lodash = context._;
|
||||||
|
|
||||||
_.each([
|
_.each([
|
||||||
|
'assign',
|
||||||
|
'bindKey',
|
||||||
'forIn',
|
'forIn',
|
||||||
'forOwn',
|
'forOwn',
|
||||||
'isPlainObject',
|
'isPlainObject',
|
||||||
'lateBind',
|
|
||||||
'merge',
|
'merge',
|
||||||
'partial'
|
'partial'
|
||||||
], function(methodName) {
|
], function(methodName) {
|
||||||
equal(lodash[methodName], undefined, '_.' + methodName + ' exists: ' + basename);
|
equal(lodash[methodName], undefined, '_.' + methodName + ' should not exist: ' + basename);
|
||||||
});
|
});
|
||||||
|
|
||||||
start();
|
start();
|
||||||
@@ -984,7 +1010,9 @@
|
|||||||
build(['--silent'].concat(command.split(' ')), function(source, filePath) {
|
build(['--silent'].concat(command.split(' ')), function(source, filePath) {
|
||||||
var methodNames,
|
var methodNames,
|
||||||
basename = path.basename(filePath, '.js'),
|
basename = path.basename(filePath, '.js'),
|
||||||
context = createContext();
|
context = createContext(),
|
||||||
|
isUnderscore = /underscore/.test(command),
|
||||||
|
exposeAssign = !isUnderscore;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
vm.runInContext(source, context);
|
vm.runInContext(source, context);
|
||||||
@@ -999,8 +1027,12 @@
|
|||||||
if (/backbone/.test(command) && !methodNames) {
|
if (/backbone/.test(command) && !methodNames) {
|
||||||
methodNames = backboneDependencies.slice();
|
methodNames = backboneDependencies.slice();
|
||||||
}
|
}
|
||||||
if (/underscore/.test(command) && !methodNames) {
|
if (isUnderscore) {
|
||||||
methodNames = underscoreMethods.slice();
|
if (methodNames) {
|
||||||
|
exposeAssign = methodNames.indexOf('assign') > -1;
|
||||||
|
} else {
|
||||||
|
methodNames = underscoreMethods.slice();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// add method names explicitly by category
|
// add method names explicitly by category
|
||||||
if (/category/.test(command)) {
|
if (/category/.test(command)) {
|
||||||
@@ -1034,6 +1066,9 @@
|
|||||||
// remove nonexistent and duplicate method names
|
// remove nonexistent and duplicate method names
|
||||||
methodNames = _.uniq(_.intersection(allMethods, expandMethodNames(methodNames)));
|
methodNames = _.uniq(_.intersection(allMethods, expandMethodNames(methodNames)));
|
||||||
|
|
||||||
|
if (!exposeAssign) {
|
||||||
|
methodNames = _.without(methodNames, 'assign');
|
||||||
|
}
|
||||||
var lodash = context._ || {};
|
var lodash = context._ || {};
|
||||||
methodNames.forEach(function(methodName) {
|
methodNames.forEach(function(methodName) {
|
||||||
testMethod(lodash, methodName, basename);
|
testMethod(lodash, methodName, basename);
|
||||||
|
|||||||
129
test/test.js
129
test/test.js
@@ -163,6 +163,42 @@
|
|||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
QUnit.module('lodash.assign');
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
test('should not error on `null` or `undefined` sources (test in IE < 9)', function() {
|
||||||
|
try {
|
||||||
|
deepEqual(_.assign({}, null, undefined, { 'a': 1 }), { 'a': 1 });
|
||||||
|
} catch(e) {
|
||||||
|
ok(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
test('skips the prototype property of functions (test in Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1)', function() {
|
||||||
|
function Foo() {}
|
||||||
|
Foo.prototype.c = 3;
|
||||||
|
|
||||||
|
Foo.a = 1;
|
||||||
|
Foo.b = 2;
|
||||||
|
|
||||||
|
var expected = { 'a': 1, 'b': 2 };
|
||||||
|
deepEqual(_.assign({}, Foo), expected);
|
||||||
|
|
||||||
|
Foo.prototype = { 'c': 3 };
|
||||||
|
deepEqual(_.assign({}, Foo), expected);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('should work with `_.reduce`', function() {
|
||||||
|
var actual = { 'a': 1},
|
||||||
|
array = [{ 'b': 2 }, { 'c': 3 }];
|
||||||
|
|
||||||
|
_.reduce(array, _.assign, actual);
|
||||||
|
deepEqual(actual, { 'a': 1, 'b': 2, 'c': 3});
|
||||||
|
});
|
||||||
|
}());
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
QUnit.module('lodash.bind');
|
QUnit.module('lodash.bind');
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
@@ -177,6 +213,29 @@
|
|||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
QUnit.module('lodash.bindKey');
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
test('should work when the target function is overwritten', function() {
|
||||||
|
var object = {
|
||||||
|
'name': 'moe',
|
||||||
|
'greet': function(greeting) {
|
||||||
|
return greeting + ': ' + this.name;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var func = _.bindKey(object, 'greet', 'hi');
|
||||||
|
equal(func(), 'hi: moe');
|
||||||
|
|
||||||
|
object.greet = function(greeting) {
|
||||||
|
return greeting + ' ' + this.name + '!';
|
||||||
|
};
|
||||||
|
equal(func(), 'hi moe!');
|
||||||
|
});
|
||||||
|
}());
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
QUnit.module('lodash.clone');
|
QUnit.module('lodash.clone');
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
@@ -385,37 +444,23 @@
|
|||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
QUnit.module('lodash.extend');
|
QUnit.module('source property checks');
|
||||||
|
|
||||||
(function() {
|
_.each(['assign', 'defaults'], function(methodName) {
|
||||||
test('should not error on `null` or `undefined` sources (test in IE < 9)', function() {
|
var func = _[methodName];
|
||||||
try {
|
|
||||||
deepEqual(_.extend({}, null, undefined, { 'a': 1 }), { 'a': 1 });
|
|
||||||
} catch(e) {
|
|
||||||
ok(false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
test('skips the prototype property of functions (test in Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1)', function() {
|
test('lodash.' + methodName + ' should not assign inherited `source` properties', function() {
|
||||||
function Foo() {}
|
function Foo() {}
|
||||||
Foo.prototype.c = 3;
|
Foo.prototype = { 'a': 1 };
|
||||||
|
deepEqual(func({}, new Foo), {});
|
||||||
Foo.a = 1;
|
|
||||||
Foo.b = 2;
|
|
||||||
|
|
||||||
var expected = { 'a': 1, 'b': 2 };
|
|
||||||
deepEqual(_.extend({}, Foo), expected);
|
|
||||||
|
|
||||||
Foo.prototype = { 'c': 3 };
|
|
||||||
deepEqual(_.extend({}, Foo), expected);
|
|
||||||
});
|
});
|
||||||
}());
|
});
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
QUnit.module('strict mode checks');
|
QUnit.module('strict mode checks');
|
||||||
|
|
||||||
_.each(['bindAll', 'defaults', 'extend'], function(methodName) {
|
_.each(['assign', 'bindAll', 'defaults'], function(methodName) {
|
||||||
var func = _[methodName];
|
var func = _[methodName];
|
||||||
|
|
||||||
test('lodash.' + methodName + ' should not throw strict mode errors', function() {
|
test('lodash.' + methodName + ' should not throw strict mode errors', function() {
|
||||||
@@ -980,29 +1025,6 @@
|
|||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
QUnit.module('lodash.lateBind');
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
test('should work when the target function is overwritten', function() {
|
|
||||||
var object = {
|
|
||||||
'name': 'moe',
|
|
||||||
'greet': function(greeting) {
|
|
||||||
return greeting + ': ' + this.name;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var func = _.lateBind(object, 'greet', 'hi');
|
|
||||||
equal(func(), 'hi: moe');
|
|
||||||
|
|
||||||
object.greet = function(greeting) {
|
|
||||||
return greeting + ' ' + this.name + '!';
|
|
||||||
};
|
|
||||||
equal(func(), 'hi moe!');
|
|
||||||
});
|
|
||||||
}());
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
QUnit.module('lodash.map');
|
QUnit.module('lodash.map');
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
@@ -1135,6 +1157,14 @@
|
|||||||
var expected = { 'a': 4 };
|
var expected = { 'a': 4 };
|
||||||
deepEqual(_.merge({ 'a': 1 }, { 'a': 2 }, { 'a': 3 }, expected), expected);
|
deepEqual(_.merge({ 'a': 1 }, { 'a': 2 }, { 'a': 3 }, expected), expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('should work with `_.reduce`', function() {
|
||||||
|
var actual = { 'a': 1},
|
||||||
|
array = [{ 'b': 2 }, { 'c': 3 }];
|
||||||
|
|
||||||
|
_.reduce(array, _.merge, actual);
|
||||||
|
deepEqual(actual, { 'a': 1, 'b': 2, 'c': 3});
|
||||||
|
});
|
||||||
}(1, 2, 3));
|
}(1, 2, 3));
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
@@ -1833,14 +1863,13 @@
|
|||||||
deepEqual(_.where(array, { 'a': 1, 'b': 2 }), [{ 'a': 1, 'b': 2 }]);
|
deepEqual(_.where(array, { 'a': 1, 'b': 2 }), [{ 'a': 1, 'b': 2 }]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should filter by inherited properties', function() {
|
test('should not filter by inherited properties', function() {
|
||||||
function Foo() {}
|
function Foo() {}
|
||||||
Foo.prototype = { 'b': 2 };
|
Foo.prototype = { 'a': 2 };
|
||||||
|
|
||||||
var properties = new Foo;
|
var properties = new Foo;
|
||||||
properties.a = 1;
|
properties.b = 2;
|
||||||
|
deepEqual(_.where(array, properties), [{ 'a': 1, 'b': 2 }, { 'a': 2, 'b': 2 }]);
|
||||||
deepEqual(_.where(array, properties), [{ 'a': 1, 'b': 2 }]);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should filter by problem JScript properties (test in IE < 9)', function() {
|
test('should filter by problem JScript properties (test in IE < 9)', function() {
|
||||||
|
|||||||
4
vendor/backbone/backbone.js
vendored
4
vendor/backbone/backbone.js
vendored
@@ -988,8 +988,8 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Cached regex for cleaning leading hashes and slashes.
|
// Cached regex for stripping a leading hash/slash and trailing space.
|
||||||
var routeStripper = /^[#\/]|\s+$/;
|
var routeStripper = /^[#\/]|\s+$/g;
|
||||||
|
|
||||||
// Cached regex for stripping leading and trailing slashes.
|
// Cached regex for stripping leading and trailing slashes.
|
||||||
var rootStripper = /^\/+|\/+$/g;
|
var rootStripper = /^\/+|\/+$/g;
|
||||||
|
|||||||
5
vendor/backbone/test/router.js
vendored
5
vendor/backbone/test/router.js
vendored
@@ -497,4 +497,9 @@ $(document).ready(function() {
|
|||||||
strictEqual(history.getFragment('fragment '), 'fragment');
|
strictEqual(history.getFragment('fragment '), 'fragment');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("#1820 - Leading slash and trailing space.", 1, function() {
|
||||||
|
var history = new Backbone.History;
|
||||||
|
strictEqual(history.getFragment('/fragment '), 'fragment');
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
662
vendor/firebug-lite/skin/xp/debugger.css
vendored
662
vendor/firebug-lite/skin/xp/debugger.css
vendored
@@ -1,331 +1,331 @@
|
|||||||
/* See license.txt for terms of usage */
|
/* See license.txt for terms of usage */
|
||||||
|
|
||||||
.panelNode-script {
|
.panelNode-script {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
|
|
||||||
.scriptTooltip {
|
.scriptTooltip {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 2147483647;
|
z-index: 2147483647;
|
||||||
padding: 2px 3px;
|
padding: 2px 3px;
|
||||||
border: 1px solid #CBE087;
|
border: 1px solid #CBE087;
|
||||||
background: LightYellow;
|
background: LightYellow;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
|
|
||||||
.sourceBox {
|
.sourceBox {
|
||||||
/* TODO: xxxpedro problem with sourceBox and scrolling elements */
|
/* TODO: xxxpedro problem with sourceBox and scrolling elements */
|
||||||
/*overflow: scroll; /* see issue 1479 */
|
/*overflow: scroll; /* see issue 1479 */
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRow {
|
.sourceRow {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
-moz-user-select: text;
|
-moz-user-select: text;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRow.hovered {
|
.sourceRow.hovered {
|
||||||
background-color: #EEEEEE;
|
background-color: #EEEEEE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
|
|
||||||
.sourceLine {
|
.sourceLine {
|
||||||
-moz-user-select: none;
|
-moz-user-select: none;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
border-right: 1px solid #CCCCCC;
|
border-right: 1px solid #CCCCCC;
|
||||||
padding: 0px 4px 0 20px;
|
padding: 0px 4px 0 20px;
|
||||||
background: #EEEEEE no-repeat 2px 0px;
|
background: #EEEEEE no-repeat 2px 0px;
|
||||||
color: #888888;
|
color: #888888;
|
||||||
white-space: pre;
|
white-space: pre;
|
||||||
font-family: monospace; /* see issue 2953 */
|
font-family: monospace; /* see issue 2953 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.noteInToolTip { /* below sourceLine, so it overrides it */
|
.noteInToolTip { /* below sourceLine, so it overrides it */
|
||||||
background-color: #FFD472;
|
background-color: #FFD472;
|
||||||
}
|
}
|
||||||
|
|
||||||
.useA11y .sourceBox .sourceViewport:focus .sourceLine {
|
.useA11y .sourceBox .sourceViewport:focus .sourceLine {
|
||||||
background-color: #FFFFC0;
|
background-color: #FFFFC0;
|
||||||
color: navy;
|
color: navy;
|
||||||
border-right: 1px solid black;
|
border-right: 1px solid black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.useA11y .sourceBox .sourceViewport:focus {
|
.useA11y .sourceBox .sourceViewport:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.a11y1emSize {
|
.a11y1emSize {
|
||||||
width: 1em;
|
width: 1em;
|
||||||
height: 1em;
|
height: 1em;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
|
|
||||||
.useA11y .panelStatusLabel:focus {
|
.useA11y .panelStatusLabel:focus {
|
||||||
outline-offset: -2px !important;
|
outline-offset: -2px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceBox > .sourceRow > .sourceLine {
|
.sourceBox > .sourceRow > .sourceLine {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceLine:hover {
|
.sourceLine:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRowText {
|
.sourceRowText {
|
||||||
white-space: pre;
|
white-space: pre;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRow[exe_line="true"] {
|
.sourceRow[exe_line="true"] {
|
||||||
outline: 1px solid #D9D9B6;
|
outline: 1px solid #D9D9B6;
|
||||||
margin-right: 1px;
|
margin-right: 1px;
|
||||||
background-color: lightgoldenrodyellow;
|
background-color: lightgoldenrodyellow;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRow[executable="true"] > .sourceLine {
|
.sourceRow[executable="true"] > .sourceLine {
|
||||||
content: "-";
|
content: "-";
|
||||||
color: #4AA02C; /* Spring Green */
|
color: #4AA02C; /* Spring Green */
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRow[exe_line="true"] > .sourceLine {
|
.sourceRow[exe_line="true"] > .sourceLine {
|
||||||
background-image: url(chrome://firebug/skin/exe.png);
|
background-image: url(chrome://firebug/skin/exe.png);
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRow[breakpoint="true"] > .sourceLine {
|
.sourceRow[breakpoint="true"] > .sourceLine {
|
||||||
background-image: url(chrome://firebug/skin/breakpoint.png);
|
background-image: url(chrome://firebug/skin/breakpoint.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRow[breakpoint="true"][condition="true"] > .sourceLine {
|
.sourceRow[breakpoint="true"][condition="true"] > .sourceLine {
|
||||||
background-image: url(chrome://firebug/skin/breakpointCondition.png);
|
background-image: url(chrome://firebug/skin/breakpointCondition.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRow[breakpoint="true"][disabledBreakpoint="true"] > .sourceLine {
|
.sourceRow[breakpoint="true"][disabledBreakpoint="true"] > .sourceLine {
|
||||||
background-image: url(chrome://firebug/skin/breakpointDisabled.png);
|
background-image: url(chrome://firebug/skin/breakpointDisabled.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRow[breakpoint="true"][exe_line="true"] > .sourceLine {
|
.sourceRow[breakpoint="true"][exe_line="true"] > .sourceLine {
|
||||||
background-image: url(chrome://firebug/skin/breakpointExe.png);
|
background-image: url(chrome://firebug/skin/breakpointExe.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceRow[breakpoint="true"][exe_line="true"][disabledBreakpoint="true"] > .sourceLine {
|
.sourceRow[breakpoint="true"][exe_line="true"][disabledBreakpoint="true"] > .sourceLine {
|
||||||
background-image: url(chrome://firebug/skin/breakpointDisabledExe.png);
|
background-image: url(chrome://firebug/skin/breakpointDisabledExe.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sourceLine.editing {
|
.sourceLine.editing {
|
||||||
background-image: url(chrome://firebug/skin/breakpoint.png);
|
background-image: url(chrome://firebug/skin/breakpoint.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
|
|
||||||
.conditionEditor {
|
.conditionEditor {
|
||||||
z-index: 2147483647;
|
z-index: 2147483647;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
left: 2px;
|
left: 2px;
|
||||||
width: 90%;
|
width: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditionEditorInner {
|
.conditionEditorInner {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -26px;
|
top: -26px;
|
||||||
height: 0;
|
height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditionCaption {
|
.conditionCaption {
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
font-family: Lucida Grande, sans-serif;
|
font-family: Lucida Grande, sans-serif;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
color: #226679;
|
color: #226679;
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditionInput {
|
.conditionInput {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border: 1px solid #0096C0;
|
border: 1px solid #0096C0;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
font-size: inherit;
|
font-size: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditionEditorInner1 {
|
.conditionEditorInner1 {
|
||||||
padding-left: 37px;
|
padding-left: 37px;
|
||||||
background: url(condBorders.png) repeat-y;
|
background: url(condBorders.png) repeat-y;
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditionEditorInner2 {
|
.conditionEditorInner2 {
|
||||||
padding-right: 25px;
|
padding-right: 25px;
|
||||||
background: url(condBorders.png) repeat-y 100% 0;
|
background: url(condBorders.png) repeat-y 100% 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditionEditorTop1 {
|
.conditionEditorTop1 {
|
||||||
background: url(condCorners.png) no-repeat 100% 0;
|
background: url(condCorners.png) no-repeat 100% 0;
|
||||||
margin-left: 37px;
|
margin-left: 37px;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditionEditorTop2 {
|
.conditionEditorTop2 {
|
||||||
position: relative;
|
position: relative;
|
||||||
left: -37px;
|
left: -37px;
|
||||||
width: 37px;
|
width: 37px;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
background: url(condCorners.png) no-repeat;
|
background: url(condCorners.png) no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditionEditorBottom1 {
|
.conditionEditorBottom1 {
|
||||||
background: url(condCorners.png) no-repeat 100% 100%;
|
background: url(condCorners.png) no-repeat 100% 100%;
|
||||||
margin-left: 37px;
|
margin-left: 37px;
|
||||||
height: 33px;
|
height: 33px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.conditionEditorBottom2 {
|
.conditionEditorBottom2 {
|
||||||
position: relative; left: -37px;
|
position: relative; left: -37px;
|
||||||
width: 37px;
|
width: 37px;
|
||||||
height: 33px;
|
height: 33px;
|
||||||
background: url(condCorners.png) no-repeat 0 100%;
|
background: url(condCorners.png) no-repeat 0 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
.upsideDown {
|
.upsideDown {
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upsideDown .conditionEditorInner {
|
.upsideDown .conditionEditorInner {
|
||||||
top: -8px;
|
top: -8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upsideDown .conditionEditorInner1 {
|
.upsideDown .conditionEditorInner1 {
|
||||||
padding-left: 33px;
|
padding-left: 33px;
|
||||||
background: url(condBordersUps.png) repeat-y;
|
background: url(condBordersUps.png) repeat-y;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upsideDown .conditionEditorInner2 {
|
.upsideDown .conditionEditorInner2 {
|
||||||
padding-right: 25px;
|
padding-right: 25px;
|
||||||
background: url(condBordersUps.png) repeat-y 100% 0;
|
background: url(condBordersUps.png) repeat-y 100% 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upsideDown .conditionEditorTop1 {
|
.upsideDown .conditionEditorTop1 {
|
||||||
background: url(condCornersUps.png) no-repeat 100% 0;
|
background: url(condCornersUps.png) no-repeat 100% 0;
|
||||||
margin-left: 33px;
|
margin-left: 33px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upsideDown .conditionEditorTop2 {
|
.upsideDown .conditionEditorTop2 {
|
||||||
position: relative;
|
position: relative;
|
||||||
left: -33px;
|
left: -33px;
|
||||||
width: 33px;
|
width: 33px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
background: url(condCornersUps.png) no-repeat;
|
background: url(condCornersUps.png) no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upsideDown .conditionEditorBottom1 {
|
.upsideDown .conditionEditorBottom1 {
|
||||||
background: url(condCornersUps.png) no-repeat 100% 100%;
|
background: url(condCornersUps.png) no-repeat 100% 100%;
|
||||||
margin-left: 33px;
|
margin-left: 33px;
|
||||||
height: 43px;
|
height: 43px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upsideDown .conditionEditorBottom2 {
|
.upsideDown .conditionEditorBottom2 {
|
||||||
position: relative;
|
position: relative;
|
||||||
left: -33px;
|
left: -33px;
|
||||||
width: 33px;
|
width: 33px;
|
||||||
height: 43px;
|
height: 43px;
|
||||||
background: url(condCornersUps.png) no-repeat 0 100%;
|
background: url(condCornersUps.png) no-repeat 0 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
|
|
||||||
.breakpointsGroupListBox {
|
.breakpointsGroupListBox {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointBlockHead {
|
.breakpointBlockHead {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-top: 4px;
|
padding-top: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointBlockHead > .checkbox {
|
.breakpointBlockHead > .checkbox {
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointBlockHead > .objectLink-sourceLink {
|
.breakpointBlockHead > .objectLink-sourceLink {
|
||||||
top: 4px;
|
top: 4px;
|
||||||
right: 20px;
|
right: 20px;
|
||||||
background-color: #FFFFFF; /* issue 3308 */
|
background-color: #FFFFFF; /* issue 3308 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointBlockHead > .closeButton {
|
.breakpointBlockHead > .closeButton {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 2px;
|
top: 2px;
|
||||||
right: 2px;
|
right: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointCheckbox {
|
.breakpointCheckbox {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointName {
|
.breakpointName {
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointRow[aria-checked="false"] > .breakpointBlockHead > *,
|
.breakpointRow[aria-checked="false"] > .breakpointBlockHead > *,
|
||||||
.breakpointRow[aria-checked="false"] > .breakpointCode {
|
.breakpointRow[aria-checked="false"] > .breakpointCode {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointRow[aria-checked="false"] .breakpointCheckbox,
|
.breakpointRow[aria-checked="false"] .breakpointCheckbox,
|
||||||
.breakpointRow[aria-checked="false"] .objectLink-sourceLink,
|
.breakpointRow[aria-checked="false"] .objectLink-sourceLink,
|
||||||
.breakpointRow[aria-checked="false"] .closeButton,
|
.breakpointRow[aria-checked="false"] .closeButton,
|
||||||
.breakpointRow[aria-checked="false"] .breakpointMutationType {
|
.breakpointRow[aria-checked="false"] .breakpointMutationType {
|
||||||
opacity: 1.0 !important;
|
opacity: 1.0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointCode {
|
.breakpointCode {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
padding-left: 24px;
|
padding-left: 24px;
|
||||||
padding-bottom: 2px;
|
padding-bottom: 2px;
|
||||||
border-bottom: 1px solid #D7D7D7;
|
border-bottom: 1px solid #D7D7D7;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
color: DarkGreen;
|
color: DarkGreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointCondition {
|
.breakpointCondition {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
padding-left: 24px;
|
padding-left: 24px;
|
||||||
padding-bottom: 2px;
|
padding-bottom: 2px;
|
||||||
border-bottom: 1px solid #D7D7D7;
|
border-bottom: 1px solid #D7D7D7;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
color: Gray;
|
color: Gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointBlock-breakpoints > .groupHeader {
|
.breakpointBlock-breakpoints > .groupHeader {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointBlock-monitors > .breakpointCode {
|
.breakpointBlock-monitors > .breakpointCode {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointBlock-errorBreakpoints .breakpointCheckbox,
|
.breakpointBlock-errorBreakpoints .breakpointCheckbox,
|
||||||
.breakpointBlock-monitors .breakpointCheckbox {
|
.breakpointBlock-monitors .breakpointCheckbox {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointHeader {
|
.breakpointHeader {
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
border-top: none !important;
|
border-top: none !important;
|
||||||
}
|
}
|
||||||
|
|||||||
1634
vendor/firebug-lite/skin/xp/firebug-1.3a2.css
vendored
1634
vendor/firebug-lite/skin/xp/firebug-1.3a2.css
vendored
File diff suppressed because it is too large
Load Diff
40
vendor/firebug-lite/skin/xp/firebug.IE6.css
vendored
40
vendor/firebug-lite/skin/xp/firebug.IE6.css
vendored
@@ -1,20 +1,20 @@
|
|||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
#fbToolbarSearch {
|
#fbToolbarSearch {
|
||||||
background-image: url(search.gif) !important;
|
background-image: url(search.gif) !important;
|
||||||
}
|
}
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
.fbErrors {
|
.fbErrors {
|
||||||
background-image: url(errorIcon.gif) !important;
|
background-image: url(errorIcon.gif) !important;
|
||||||
}
|
}
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
.logRow-info {
|
.logRow-info {
|
||||||
background-image: url(infoIcon.gif) !important;
|
background-image: url(infoIcon.gif) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.logRow-warning {
|
.logRow-warning {
|
||||||
background-image: url(warningIcon.gif) !important;
|
background-image: url(warningIcon.gif) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.logRow-error {
|
.logRow-error {
|
||||||
background-image: url(errorIcon.gif) !important;
|
background-image: url(errorIcon.gif) !important;
|
||||||
}
|
}
|
||||||
|
|||||||
6294
vendor/firebug-lite/skin/xp/firebug.css
vendored
6294
vendor/firebug-lite/skin/xp/firebug.css
vendored
File diff suppressed because it is too large
Load Diff
428
vendor/firebug-lite/skin/xp/firebug.html
vendored
428
vendor/firebug-lite/skin/xp/firebug.html
vendored
@@ -1,215 +1,215 @@
|
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/DTD/strict.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/DTD/strict.dtd">
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<title>Firebug Lite</title>
|
<title>Firebug Lite</title>
|
||||||
<!-- An empty script to avoid FOUC when loading the stylesheet -->
|
<!-- An empty script to avoid FOUC when loading the stylesheet -->
|
||||||
<script type="text/javascript"></script>
|
<script type="text/javascript"></script>
|
||||||
<style type="text/css" media="screen">@import "firebug.css";</style>
|
<style type="text/css" media="screen">@import "firebug.css";</style>
|
||||||
<style>html,body{margin:0;padding:0;overflow:hidden;}</style>
|
<style>html,body{margin:0;padding:0;overflow:hidden;}</style>
|
||||||
</head>
|
</head>
|
||||||
<body class="fbBody">
|
<body class="fbBody">
|
||||||
<table id="fbChrome" cellpadding="0" cellspacing="0" border="0">
|
<table id="fbChrome" cellpadding="0" cellspacing="0" border="0">
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<!-- Interface - Top Area -->
|
<!-- Interface - Top Area -->
|
||||||
<td id="fbTop" colspan="2">
|
<td id="fbTop" colspan="2">
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<div>
|
<div>
|
||||||
--><!-- <span id="fbToolbarErrors" class="fbErrors">2 errors</span> --><!--
|
--><!-- <span id="fbToolbarErrors" class="fbErrors">2 errors</span> --><!--
|
||||||
<input type="text" id="fbToolbarSearch" />
|
<input type="text" id="fbToolbarSearch" />
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Window Buttons -->
|
<!-- Window Buttons -->
|
||||||
<div id="fbWindowButtons">
|
<div id="fbWindowButtons">
|
||||||
<a id="fbWindow_btDeactivate" class="fbSmallButton fbHover" title="Deactivate Firebug for this web page"> </a>
|
<a id="fbWindow_btDeactivate" class="fbSmallButton fbHover" title="Deactivate Firebug for this web page"> </a>
|
||||||
<a id="fbWindow_btDetach" class="fbSmallButton fbHover" title="Open Firebug in popup window"> </a>
|
<a id="fbWindow_btDetach" class="fbSmallButton fbHover" title="Open Firebug in popup window"> </a>
|
||||||
<a id="fbWindow_btClose" class="fbSmallButton fbHover" title="Minimize Firebug"> </a>
|
<a id="fbWindow_btClose" class="fbSmallButton fbHover" title="Minimize Firebug"> </a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Toolbar buttons and Status Bar -->
|
<!-- Toolbar buttons and Status Bar -->
|
||||||
<div id="fbToolbar">
|
<div id="fbToolbar">
|
||||||
<div id="fbToolbarContent">
|
<div id="fbToolbarContent">
|
||||||
|
|
||||||
<!-- Firebug Button -->
|
<!-- Firebug Button -->
|
||||||
<span id="fbToolbarIcon">
|
<span id="fbToolbarIcon">
|
||||||
<a id="fbFirebugButton" class="fbIconButton" class="fbHover" target="_blank"> </a>
|
<a id="fbFirebugButton" class="fbIconButton" class="fbHover" target="_blank"> </a>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<span id="fbLeftToolbarErrors" class="fbErrors">2 errors</span>
|
<span id="fbLeftToolbarErrors" class="fbErrors">2 errors</span>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Toolbar Buttons -->
|
<!-- Toolbar Buttons -->
|
||||||
<span id="fbToolbarButtons">
|
<span id="fbToolbarButtons">
|
||||||
<!-- Fixed Toolbar Buttons -->
|
<!-- Fixed Toolbar Buttons -->
|
||||||
<span id="fbFixedButtons">
|
<span id="fbFixedButtons">
|
||||||
<a id="fbChrome_btInspect" class="fbButton fbHover" title="Click an element in the page to inspect">Inspect</a>
|
<a id="fbChrome_btInspect" class="fbButton fbHover" title="Click an element in the page to inspect">Inspect</a>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!-- Console Panel Toolbar Buttons -->
|
<!-- Console Panel Toolbar Buttons -->
|
||||||
<span id="fbConsoleButtons" class="fbToolbarButtons">
|
<span id="fbConsoleButtons" class="fbToolbarButtons">
|
||||||
<a id="fbConsole_btClear" class="fbButton fbHover" title="Clear the console">Clear</a>
|
<a id="fbConsole_btClear" class="fbButton fbHover" title="Clear the console">Clear</a>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!-- HTML Panel Toolbar Buttons -->
|
<!-- HTML Panel Toolbar Buttons -->
|
||||||
<!--
|
<!--
|
||||||
<span id="fbHTMLButtons" class="fbToolbarButtons">
|
<span id="fbHTMLButtons" class="fbToolbarButtons">
|
||||||
<a id="fbHTML_btEdit" class="fbHover" title="Edit this HTML">Edit</a>
|
<a id="fbHTML_btEdit" class="fbHover" title="Edit this HTML">Edit</a>
|
||||||
</span>
|
</span>
|
||||||
-->
|
-->
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!-- Status Bar -->
|
<!-- Status Bar -->
|
||||||
<span id="fbStatusBarBox">
|
<span id="fbStatusBarBox">
|
||||||
<span class="fbToolbarSeparator"></span>
|
<span class="fbToolbarSeparator"></span>
|
||||||
<!-- HTML Panel Status Bar -->
|
<!-- HTML Panel Status Bar -->
|
||||||
<!--
|
<!--
|
||||||
<span id="fbHTMLStatusBar" class="fbStatusBar fbToolbarButtons">
|
<span id="fbHTMLStatusBar" class="fbStatusBar fbToolbarButtons">
|
||||||
</span>
|
</span>
|
||||||
-->
|
-->
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- PanelBars -->
|
<!-- PanelBars -->
|
||||||
<div id="fbPanelBarBox">
|
<div id="fbPanelBarBox">
|
||||||
|
|
||||||
<!-- Main PanelBar -->
|
<!-- Main PanelBar -->
|
||||||
<div id="fbPanelBar1" class="fbPanelBar">
|
<div id="fbPanelBar1" class="fbPanelBar">
|
||||||
<a id="fbConsoleTab" class="fbTab fbHover">
|
<a id="fbConsoleTab" class="fbTab fbHover">
|
||||||
<span class="fbTabL"></span>
|
<span class="fbTabL"></span>
|
||||||
<span class="fbTabText">Console</span>
|
<span class="fbTabText">Console</span>
|
||||||
<span class="fbTabMenuTarget"></span>
|
<span class="fbTabMenuTarget"></span>
|
||||||
<span class="fbTabR"></span>
|
<span class="fbTabR"></span>
|
||||||
</a>
|
</a>
|
||||||
<a id="fbHTMLTab" class="fbTab fbHover">
|
<a id="fbHTMLTab" class="fbTab fbHover">
|
||||||
<span class="fbTabL"></span>
|
<span class="fbTabL"></span>
|
||||||
<span class="fbTabText">HTML</span>
|
<span class="fbTabText">HTML</span>
|
||||||
<span class="fbTabR"></span>
|
<span class="fbTabR"></span>
|
||||||
</a>
|
</a>
|
||||||
<a class="fbTab fbHover">
|
<a class="fbTab fbHover">
|
||||||
<span class="fbTabL"></span>
|
<span class="fbTabL"></span>
|
||||||
<span class="fbTabText">CSS</span>
|
<span class="fbTabText">CSS</span>
|
||||||
<span class="fbTabR"></span>
|
<span class="fbTabR"></span>
|
||||||
</a>
|
</a>
|
||||||
<a class="fbTab fbHover">
|
<a class="fbTab fbHover">
|
||||||
<span class="fbTabL"></span>
|
<span class="fbTabL"></span>
|
||||||
<span class="fbTabText">Script</span>
|
<span class="fbTabText">Script</span>
|
||||||
<span class="fbTabR"></span>
|
<span class="fbTabR"></span>
|
||||||
</a>
|
</a>
|
||||||
<a class="fbTab fbHover">
|
<a class="fbTab fbHover">
|
||||||
<span class="fbTabL"></span>
|
<span class="fbTabL"></span>
|
||||||
<span class="fbTabText">DOM</span>
|
<span class="fbTabText">DOM</span>
|
||||||
<span class="fbTabR"></span>
|
<span class="fbTabR"></span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Side PanelBars -->
|
<!-- Side PanelBars -->
|
||||||
<div id="fbPanelBar2Box" class="hide">
|
<div id="fbPanelBar2Box" class="hide">
|
||||||
<div id="fbPanelBar2" class="fbPanelBar">
|
<div id="fbPanelBar2" class="fbPanelBar">
|
||||||
<!--
|
<!--
|
||||||
<a class="fbTab fbHover">
|
<a class="fbTab fbHover">
|
||||||
<span class="fbTabL"></span>
|
<span class="fbTabL"></span>
|
||||||
<span class="fbTabText">Style</span>
|
<span class="fbTabText">Style</span>
|
||||||
<span class="fbTabR"></span>
|
<span class="fbTabR"></span>
|
||||||
</a>
|
</a>
|
||||||
<a class="fbTab fbHover">
|
<a class="fbTab fbHover">
|
||||||
<span class="fbTabL"></span>
|
<span class="fbTabL"></span>
|
||||||
<span class="fbTabText">Layout</span>
|
<span class="fbTabText">Layout</span>
|
||||||
<span class="fbTabR"></span>
|
<span class="fbTabR"></span>
|
||||||
</a>
|
</a>
|
||||||
<a class="fbTab fbHover">
|
<a class="fbTab fbHover">
|
||||||
<span class="fbTabL"></span>
|
<span class="fbTabL"></span>
|
||||||
<span class="fbTabText">DOM</span>
|
<span class="fbTabText">DOM</span>
|
||||||
<span class="fbTabR"></span>
|
<span class="fbTabR"></span>
|
||||||
</a>
|
</a>
|
||||||
-->
|
-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Horizontal Splitter -->
|
<!-- Horizontal Splitter -->
|
||||||
<div id="fbHSplitter"> </div>
|
<div id="fbHSplitter"> </div>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<!-- Interface - Main Area -->
|
<!-- Interface - Main Area -->
|
||||||
<tr id="fbContent">
|
<tr id="fbContent">
|
||||||
|
|
||||||
<!-- Panels -->
|
<!-- Panels -->
|
||||||
<td id="fbPanelBox1">
|
<td id="fbPanelBox1">
|
||||||
<div id="fbPanel1" class="fbFitHeight">
|
<div id="fbPanel1" class="fbFitHeight">
|
||||||
<div id="fbConsole" class="fbPanel"></div>
|
<div id="fbConsole" class="fbPanel"></div>
|
||||||
<div id="fbHTML" class="fbPanel"></div>
|
<div id="fbHTML" class="fbPanel"></div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<!-- Side Panel Box -->
|
<!-- Side Panel Box -->
|
||||||
<td id="fbPanelBox2" class="hide">
|
<td id="fbPanelBox2" class="hide">
|
||||||
|
|
||||||
<!-- VerticalSplitter -->
|
<!-- VerticalSplitter -->
|
||||||
<div id="fbVSplitter" class="fbVSplitter"> </div>
|
<div id="fbVSplitter" class="fbVSplitter"> </div>
|
||||||
|
|
||||||
<!-- Side Panels -->
|
<!-- Side Panels -->
|
||||||
<div id="fbPanel2" class="fbFitHeight">
|
<div id="fbPanel2" class="fbFitHeight">
|
||||||
|
|
||||||
<!-- HTML Side Panels -->
|
<!-- HTML Side Panels -->
|
||||||
<div id="fbHTML_Style" class="fbPanel"></div>
|
<div id="fbHTML_Style" class="fbPanel"></div>
|
||||||
<div id="fbHTML_Layout" class="fbPanel"></div>
|
<div id="fbHTML_Layout" class="fbPanel"></div>
|
||||||
<div id="fbHTML_DOM" class="fbPanel"></div>
|
<div id="fbHTML_DOM" class="fbPanel"></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Large Command Line -->
|
<!-- Large Command Line -->
|
||||||
<textarea id="fbLargeCommandLine" class="fbFitHeight"></textarea>
|
<textarea id="fbLargeCommandLine" class="fbFitHeight"></textarea>
|
||||||
|
|
||||||
<!-- Large Command Line Buttons -->
|
<!-- Large Command Line Buttons -->
|
||||||
<div id="fbLargeCommandButtons">
|
<div id="fbLargeCommandButtons">
|
||||||
<a id="fbCommand_btRun" class="fbButton fbHover">Run</a>
|
<a id="fbCommand_btRun" class="fbButton fbHover">Run</a>
|
||||||
<a id="fbCommand_btClear" class="fbButton fbHover">Clear</a>
|
<a id="fbCommand_btClear" class="fbButton fbHover">Clear</a>
|
||||||
|
|
||||||
<a id="fbSmallCommandLineIcon" class="fbSmallButton fbHover"></a>
|
<a id="fbSmallCommandLineIcon" class="fbSmallButton fbHover"></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<!-- Interface - Bottom Area -->
|
<!-- Interface - Bottom Area -->
|
||||||
<tr id="fbBottom" class="hide">
|
<tr id="fbBottom" class="hide">
|
||||||
|
|
||||||
<!-- Command Line -->
|
<!-- Command Line -->
|
||||||
<td id="fbCommand" colspan="2">
|
<td id="fbCommand" colspan="2">
|
||||||
<div id="fbCommandBox">
|
<div id="fbCommandBox">
|
||||||
<div id="fbCommandIcon">>>></div>
|
<div id="fbCommandIcon">>>></div>
|
||||||
<input id="fbCommandLine" name="fbCommandLine" type="text" />
|
<input id="fbCommandLine" name="fbCommandLine" type="text" />
|
||||||
<a id="fbLargeCommandLineIcon" class="fbSmallButton fbHover"></a>
|
<a id="fbLargeCommandLineIcon" class="fbSmallButton fbHover"></a>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<span id="fbMiniChrome">
|
<span id="fbMiniChrome">
|
||||||
<span id="fbMiniContent">
|
<span id="fbMiniContent">
|
||||||
<span id="fbMiniIcon" title="Open Firebug Lite"></span>
|
<span id="fbMiniIcon" title="Open Firebug Lite"></span>
|
||||||
<span id="fbMiniErrors" class="fbErrors"><!-- 2 errors --></span>
|
<span id="fbMiniErrors" class="fbErrors"><!-- 2 errors --></span>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<!--
|
<!--
|
||||||
<div id="fbErrorPopup">
|
<div id="fbErrorPopup">
|
||||||
<div id="fbErrorPopupContent">
|
<div id="fbErrorPopupContent">
|
||||||
<div id="fbErrorIndicator" class="fbErrors">2 errors</div>
|
<div id="fbErrorIndicator" class="fbErrors">2 errors</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
542
vendor/firebug-lite/skin/xp/html.css
vendored
542
vendor/firebug-lite/skin/xp/html.css
vendored
@@ -1,272 +1,272 @@
|
|||||||
/* See license.txt for terms of usage */
|
/* See license.txt for terms of usage */
|
||||||
|
|
||||||
.panelNode-html {
|
.panelNode-html {
|
||||||
-moz-box-sizing: padding-box;
|
-moz-box-sizing: padding-box;
|
||||||
padding: 4px 0 0 2px;
|
padding: 4px 0 0 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeBox {
|
.nodeBox {
|
||||||
position: relative;
|
position: relative;
|
||||||
font-family: Monaco, monospace;
|
font-family: Monaco, monospace;
|
||||||
padding-left: 13px;
|
padding-left: 13px;
|
||||||
-moz-user-select: -moz-none;
|
-moz-user-select: -moz-none;
|
||||||
}
|
}
|
||||||
.nodeBox.search-selection {
|
.nodeBox.search-selection {
|
||||||
-moz-user-select: text;
|
-moz-user-select: text;
|
||||||
}
|
}
|
||||||
.twisty {
|
.twisty {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0px;
|
left: 0px;
|
||||||
top: 0px;
|
top: 0px;
|
||||||
width: 14px;
|
width: 14px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeChildBox {
|
.nodeChildBox {
|
||||||
margin-left: 12px;
|
margin-left: 12px;
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeLabel,
|
.nodeLabel,
|
||||||
.nodeCloseLabel {
|
.nodeCloseLabel {
|
||||||
margin: -2px 2px 0 2px;
|
margin: -2px 2px 0 2px;
|
||||||
border: 2px solid transparent;
|
border: 2px solid transparent;
|
||||||
-moz-border-radius: 3px;
|
-moz-border-radius: 3px;
|
||||||
padding: 0 2px;
|
padding: 0 2px;
|
||||||
color: #000088;
|
color: #000088;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeCloseLabel {
|
.nodeCloseLabel {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeTag {
|
.nodeTag {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: blue;
|
color: blue;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeValue {
|
.nodeValue {
|
||||||
color: #FF0000;
|
color: #FF0000;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeText,
|
.nodeText,
|
||||||
.nodeComment {
|
.nodeComment {
|
||||||
margin: 0 2px;
|
margin: 0 2px;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeText {
|
.nodeText {
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeWhiteSpace {
|
.nodeWhiteSpace {
|
||||||
border: 1px solid LightGray;
|
border: 1px solid LightGray;
|
||||||
white-space: pre; /* otherwise the border will be collapsed around zero pixels */
|
white-space: pre; /* otherwise the border will be collapsed around zero pixels */
|
||||||
margin-left: 1px;
|
margin-left: 1px;
|
||||||
color: gray;
|
color: gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.nodeWhiteSpace_Space {
|
.nodeWhiteSpace_Space {
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeTextEntity {
|
.nodeTextEntity {
|
||||||
border: 1px solid gray;
|
border: 1px solid gray;
|
||||||
white-space: pre; /* otherwise the border will be collapsed around zero pixels */
|
white-space: pre; /* otherwise the border will be collapsed around zero pixels */
|
||||||
margin-left: 1px;
|
margin-left: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeComment {
|
.nodeComment {
|
||||||
color: DarkGreen;
|
color: DarkGreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
.nodeBox.highlightOpen > .nodeLabel {
|
.nodeBox.highlightOpen > .nodeLabel {
|
||||||
background-color: #EEEEEE;
|
background-color: #EEEEEE;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeBox.highlightOpen > .nodeCloseLabel,
|
.nodeBox.highlightOpen > .nodeCloseLabel,
|
||||||
.nodeBox.highlightOpen > .nodeChildBox,
|
.nodeBox.highlightOpen > .nodeChildBox,
|
||||||
.nodeBox.open > .nodeCloseLabel,
|
.nodeBox.open > .nodeCloseLabel,
|
||||||
.nodeBox.open > .nodeChildBox {
|
.nodeBox.open > .nodeChildBox {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
.nodeBox.selected > .nodeLabel > .nodeLabelBox,
|
.nodeBox.selected > .nodeLabel > .nodeLabelBox,
|
||||||
.nodeBox.selected > .nodeLabel {
|
.nodeBox.selected > .nodeLabel {
|
||||||
border-color: Highlight;
|
border-color: Highlight;
|
||||||
background-color: Highlight;
|
background-color: Highlight;
|
||||||
color: HighlightText !important;
|
color: HighlightText !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeBox.selected > .nodeLabel > .nodeLabelBox,
|
.nodeBox.selected > .nodeLabel > .nodeLabelBox,
|
||||||
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeTag,
|
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeTag,
|
||||||
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue,
|
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue,
|
||||||
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeText {
|
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeText {
|
||||||
color: inherit !important;
|
color: inherit !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
.nodeBox.highlighted > .nodeLabel {
|
.nodeBox.highlighted > .nodeLabel {
|
||||||
border-color: Highlight !important;
|
border-color: Highlight !important;
|
||||||
background-color: cyan !important;
|
background-color: cyan !important;
|
||||||
color: #000000 !important;
|
color: #000000 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeBox.highlighted > .nodeLabel > .nodeLabelBox,
|
.nodeBox.highlighted > .nodeLabel > .nodeLabelBox,
|
||||||
.nodeBox.highlighted > .nodeLabel > .nodeLabelBox > .nodeTag,
|
.nodeBox.highlighted > .nodeLabel > .nodeLabelBox > .nodeTag,
|
||||||
.nodeBox.highlighted > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue,
|
.nodeBox.highlighted > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue,
|
||||||
.nodeBox.highlighted > .nodeLabel > .nodeLabelBox > .nodeText {
|
.nodeBox.highlighted > .nodeLabel > .nodeLabelBox > .nodeText {
|
||||||
color: #000000 !important;
|
color: #000000 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
.nodeBox.nodeHidden .nodeLabel > .nodeLabelBox,
|
.nodeBox.nodeHidden .nodeLabel > .nodeLabelBox,
|
||||||
.nodeBox.nodeHidden .nodeCloseLabel,
|
.nodeBox.nodeHidden .nodeCloseLabel,
|
||||||
.nodeBox.nodeHidden .nodeLabel > .nodeLabelBox > .nodeText,
|
.nodeBox.nodeHidden .nodeLabel > .nodeLabelBox > .nodeText,
|
||||||
.nodeBox.nodeHidden .nodeText {
|
.nodeBox.nodeHidden .nodeText {
|
||||||
color: #888888;
|
color: #888888;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeBox.nodeHidden .nodeLabel > .nodeLabelBox > .nodeTag,
|
.nodeBox.nodeHidden .nodeLabel > .nodeLabelBox > .nodeTag,
|
||||||
.nodeBox.nodeHidden .nodeCloseLabel > .nodeCloseLabelBox > .nodeTag {
|
.nodeBox.nodeHidden .nodeCloseLabel > .nodeCloseLabelBox > .nodeTag {
|
||||||
color: #5F82D9;
|
color: #5F82D9;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeBox.nodeHidden .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue {
|
.nodeBox.nodeHidden .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue {
|
||||||
color: #D86060;
|
color: #D86060;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox,
|
.nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox,
|
||||||
.nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox > .nodeTag,
|
.nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox > .nodeTag,
|
||||||
.nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue,
|
.nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue,
|
||||||
.nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox > .nodeText {
|
.nodeBox.nodeHidden.selected > .nodeLabel > .nodeLabelBox > .nodeText {
|
||||||
color: SkyBlue !important;
|
color: SkyBlue !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
.nodeBox.mutated > .nodeLabel,
|
.nodeBox.mutated > .nodeLabel,
|
||||||
.nodeAttr.mutated,
|
.nodeAttr.mutated,
|
||||||
.nodeValue.mutated,
|
.nodeValue.mutated,
|
||||||
.nodeText.mutated,
|
.nodeText.mutated,
|
||||||
.nodeBox.mutated > .nodeText {
|
.nodeBox.mutated > .nodeText {
|
||||||
background-color: #EFFF79;
|
background-color: #EFFF79;
|
||||||
color: #FF0000 !important;
|
color: #FF0000 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nodeBox.selected.mutated > .nodeLabel,
|
.nodeBox.selected.mutated > .nodeLabel,
|
||||||
.nodeBox.selected.mutated > .nodeLabel > .nodeLabelBox,
|
.nodeBox.selected.mutated > .nodeLabel > .nodeLabelBox,
|
||||||
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeAttr.mutated > .nodeValue,
|
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeAttr.mutated > .nodeValue,
|
||||||
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue.mutated,
|
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeAttr > .nodeValue.mutated,
|
||||||
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeText.mutated {
|
.nodeBox.selected > .nodeLabel > .nodeLabelBox > .nodeText.mutated {
|
||||||
background-color: #EFFF79;
|
background-color: #EFFF79;
|
||||||
border-color: #EFFF79;
|
border-color: #EFFF79;
|
||||||
color: #FF0000 !important;
|
color: #FF0000 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
|
|
||||||
.logRow-dirxml {
|
.logRow-dirxml {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.soloElement > .nodeBox {
|
.soloElement > .nodeBox {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.useA11y .nodeLabel.focused {
|
.useA11y .nodeLabel.focused {
|
||||||
outline: 2px solid #FF9933;
|
outline: 2px solid #FF9933;
|
||||||
-moz-outline-radius: 3px;
|
-moz-outline-radius: 3px;
|
||||||
outline-offset: -2px;
|
outline-offset: -2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.useA11y .nodeLabelBox:focus {
|
.useA11y .nodeLabelBox:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
|
|
||||||
.breakpointCode .twisty {
|
.breakpointCode .twisty {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointCode .nodeBox.containerNodeBox,
|
.breakpointCode .nodeBox.containerNodeBox,
|
||||||
.breakpointCode .nodeLabel {
|
.breakpointCode .nodeLabel {
|
||||||
padding-left: 0px;
|
padding-left: 0px;
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
font-family: Monaco, monospace !important;
|
font-family: Monaco, monospace !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointCode .nodeTag,
|
.breakpointCode .nodeTag,
|
||||||
.breakpointCode .nodeAttr,
|
.breakpointCode .nodeAttr,
|
||||||
.breakpointCode .nodeText,
|
.breakpointCode .nodeText,
|
||||||
.breakpointCode .nodeValue,
|
.breakpointCode .nodeValue,
|
||||||
.breakpointCode .nodeLabel {
|
.breakpointCode .nodeLabel {
|
||||||
color: DarkGreen !important;
|
color: DarkGreen !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.breakpointMutationType {
|
.breakpointMutationType {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 4px;
|
top: 4px;
|
||||||
right: 20px;
|
right: 20px;
|
||||||
color: gray;
|
color: gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************************************/
|
/************************************************************************************************/
|
||||||
/* Twisties */
|
/* Twisties */
|
||||||
|
|
||||||
.twisty,
|
.twisty,
|
||||||
.logRow-errorMessage > .hasTwisty > .errorTitle,
|
.logRow-errorMessage > .hasTwisty > .errorTitle,
|
||||||
.logRow-log > .objectBox-array.hasTwisty,
|
.logRow-log > .objectBox-array.hasTwisty,
|
||||||
.logRow-spy .spyHead .spyTitle,
|
.logRow-spy .spyHead .spyTitle,
|
||||||
.logGroup > .logRow,
|
.logGroup > .logRow,
|
||||||
.memberRow.hasChildren > .memberLabelCell > .memberLabel,
|
.memberRow.hasChildren > .memberLabelCell > .memberLabel,
|
||||||
.hasHeaders .netHrefLabel,
|
.hasHeaders .netHrefLabel,
|
||||||
.netPageRow > .netCol > .netPageTitle {
|
.netPageRow > .netCol > .netPageTitle {
|
||||||
background-image: url(twistyClosed.png);
|
background-image: url(twistyClosed.png);
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: 2px 2px;
|
background-position: 2px 2px;
|
||||||
min-height: 12px;
|
min-height: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.logRow-errorMessage > .hasTwisty.opened > .errorTitle,
|
.logRow-errorMessage > .hasTwisty.opened > .errorTitle,
|
||||||
.logRow-log > .objectBox-array.hasTwisty.opened,
|
.logRow-log > .objectBox-array.hasTwisty.opened,
|
||||||
.logRow-spy.opened .spyHead .spyTitle,
|
.logRow-spy.opened .spyHead .spyTitle,
|
||||||
.logGroup.opened > .logRow,
|
.logGroup.opened > .logRow,
|
||||||
.memberRow.hasChildren.opened > .memberLabelCell > .memberLabel,
|
.memberRow.hasChildren.opened > .memberLabelCell > .memberLabel,
|
||||||
.nodeBox.highlightOpen > .nodeLabel > .twisty,
|
.nodeBox.highlightOpen > .nodeLabel > .twisty,
|
||||||
.nodeBox.open > .nodeLabel > .twisty,
|
.nodeBox.open > .nodeLabel > .twisty,
|
||||||
.netRow.opened > .netCol > .netHrefLabel,
|
.netRow.opened > .netCol > .netHrefLabel,
|
||||||
.netPageRow.opened > .netCol > .netPageTitle {
|
.netPageRow.opened > .netCol > .netPageTitle {
|
||||||
background-image: url(twistyOpen.png);
|
background-image: url(twistyOpen.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
.twisty {
|
.twisty {
|
||||||
background-position: 4px 4px;
|
background-position: 4px 4px;
|
||||||
}
|
}
|
||||||
12
vendor/firebug-lite/skin/xp/roundCorner.svg
vendored
12
vendor/firebug-lite/skin/xp/roundCorner.svg
vendored
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg">
|
<svg xmlns="http://www.w3.org/2000/svg">
|
||||||
<rect fill="white" x="0" y="0" width="100%" height="100%" />
|
<rect fill="white" x="0" y="0" width="100%" height="100%" />
|
||||||
<rect fill="highlight" x="0" y="0" width="100%" height="100%" rx="2px"/>
|
<rect fill="highlight" x="0" y="0" width="100%" height="100%" rx="2px"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 228 B |
3328
vendor/jquery/jquery.js
vendored
3328
vendor/jquery/jquery.js
vendored
File diff suppressed because it is too large
Load Diff
2
vendor/underscore/test/collections.js
vendored
2
vendor/underscore/test/collections.js
vendored
@@ -268,6 +268,7 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
equal(-Infinity, _.max({}), 'Maximum value of an empty object');
|
equal(-Infinity, _.max({}), 'Maximum value of an empty object');
|
||||||
equal(-Infinity, _.max([]), 'Maximum value of an empty array');
|
equal(-Infinity, _.max([]), 'Maximum value of an empty array');
|
||||||
|
equal(_.max({'a': 'a'}), -Infinity, 'Maximum value of a non-numeric collection');
|
||||||
|
|
||||||
equal(299999, _.max(_.range(1,300000)), "Maximum value of a too-big array");
|
equal(299999, _.max(_.range(1,300000)), "Maximum value of a too-big array");
|
||||||
});
|
});
|
||||||
@@ -280,6 +281,7 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
equal(Infinity, _.min({}), 'Minimum value of an empty object');
|
equal(Infinity, _.min({}), 'Minimum value of an empty object');
|
||||||
equal(Infinity, _.min([]), 'Minimum value of an empty array');
|
equal(Infinity, _.min([]), 'Minimum value of an empty array');
|
||||||
|
equal(_.min({'a': 'a'}), Infinity, 'Minimum value of a non-numeric collection');
|
||||||
|
|
||||||
var now = new Date(9999999999);
|
var now = new Date(9999999999);
|
||||||
var then = new Date(0);
|
var then = new Date(0);
|
||||||
|
|||||||
2
vendor/underscore/underscore-min.js
vendored
2
vendor/underscore/underscore-min.js
vendored
File diff suppressed because one or more lines are too long
10
vendor/underscore/underscore.js
vendored
10
vendor/underscore/underscore.js
vendored
@@ -61,7 +61,7 @@
|
|||||||
}
|
}
|
||||||
exports._ = _;
|
exports._ = _;
|
||||||
} else {
|
} else {
|
||||||
root['_'] = _;
|
root._ = _;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Current version.
|
// Current version.
|
||||||
@@ -130,7 +130,7 @@
|
|||||||
if (obj == null) obj = [];
|
if (obj == null) obj = [];
|
||||||
if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
|
if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {
|
||||||
if (context) iterator = _.bind(iterator, context);
|
if (context) iterator = _.bind(iterator, context);
|
||||||
return arguments.length > 2 ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
|
return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);
|
||||||
}
|
}
|
||||||
var length = obj.length;
|
var length = obj.length;
|
||||||
if (length !== +length) {
|
if (length !== +length) {
|
||||||
@@ -239,7 +239,7 @@
|
|||||||
if (_.isEmpty(attrs)) return [];
|
if (_.isEmpty(attrs)) return [];
|
||||||
return _.filter(obj, function(value) {
|
return _.filter(obj, function(value) {
|
||||||
for (var key in attrs) {
|
for (var key in attrs) {
|
||||||
if (attrs[key] !== value[key]) return false;
|
if (_.has(attrs, key) && attrs[key] !== value[key]) return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
@@ -253,7 +253,7 @@
|
|||||||
return Math.max.apply(Math, obj);
|
return Math.max.apply(Math, obj);
|
||||||
}
|
}
|
||||||
if (!iterator && _.isEmpty(obj)) return -Infinity;
|
if (!iterator && _.isEmpty(obj)) return -Infinity;
|
||||||
var result = {computed : -Infinity};
|
var result = {computed : -Infinity, value: -Infinity};
|
||||||
each(obj, function(value, index, list) {
|
each(obj, function(value, index, list) {
|
||||||
var computed = iterator ? iterator.call(context, value, index, list) : value;
|
var computed = iterator ? iterator.call(context, value, index, list) : value;
|
||||||
computed >= result.computed && (result = {value : value, computed : computed});
|
computed >= result.computed && (result = {value : value, computed : computed});
|
||||||
@@ -267,7 +267,7 @@
|
|||||||
return Math.min.apply(Math, obj);
|
return Math.min.apply(Math, obj);
|
||||||
}
|
}
|
||||||
if (!iterator && _.isEmpty(obj)) return Infinity;
|
if (!iterator && _.isEmpty(obj)) return Infinity;
|
||||||
var result = {computed : Infinity};
|
var result = {computed : Infinity, value: Infinity};
|
||||||
each(obj, function(value, index, list) {
|
each(obj, function(value, index, list) {
|
||||||
var computed = iterator ? iterator.call(context, value, index, list) : value;
|
var computed = iterator ? iterator.call(context, value, index, list) : value;
|
||||||
computed < result.computed && (result = {value : value, computed : computed});
|
computed < result.computed && (result = {value : value, computed : computed});
|
||||||
|
|||||||
Reference in New Issue
Block a user