lodash.sample
Advanced tools
Comparing version 2.4.1 to 3.0.0
43
index.js
/** | ||
* Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/> | ||
* Build: `lodash modularize modern exports="npm" -o ./npm/` | ||
* Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/> | ||
* Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE> | ||
* Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors | ||
* Available under MIT license <http://lodash.com/license> | ||
* lodash 3.0.0 (Custom Build) <https://lodash.com/> | ||
* Build: `lodash modern modularize exports="npm" -o ./` | ||
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> | ||
* Based on Underscore.js 1.7.0 <http://underscorejs.org/LICENSE> | ||
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors | ||
* Available under MIT license <https://lodash.com/license> | ||
*/ | ||
var baseRandom = require('lodash._baserandom'), | ||
isString = require('lodash.isstring'), | ||
shuffle = require('lodash.shuffle'), | ||
values = require('lodash.values'); | ||
isIterateeCall = require('lodash._isiterateecall'), | ||
toIterable = require('lodash._toiterable'), | ||
shuffle = require('lodash.shuffle'); | ||
/* Native method shortcuts for methods with the same name as other `lodash` methods */ | ||
var nativeMax = Math.max, | ||
nativeMin = Math.min; | ||
/* Native method references for those with the same name as other `lodash` methods. */ | ||
var nativeMin = Math.min; | ||
/** | ||
* Retrieves a random element or `n` random elements from a collection. | ||
* Gets a random element or `n` random elements from a collection. | ||
* | ||
* @static | ||
* @memberOf _ | ||
* @category Collections | ||
* @category Collection | ||
* @param {Array|Object|string} collection The collection to sample. | ||
* @param {number} [n] The number of elements to sample. | ||
* @param- {Object} [guard] Allows working with functions like `_.map` | ||
* without using their `index` arguments as `n`. | ||
* @returns {Array} Returns the random sample(s) of `collection`. | ||
* @param- {Object} [guard] Enables use as a callback for functions like `_.map`. | ||
* @returns {*} Returns the random sample(s). | ||
* @example | ||
@@ -38,10 +36,9 @@ * | ||
function sample(collection, n, guard) { | ||
if (collection && typeof collection.length != 'number') { | ||
collection = values(collection); | ||
if (guard ? isIterateeCall(collection, n, guard) : n == null) { | ||
collection = toIterable(collection); | ||
var length = collection.length; | ||
return length > 0 ? collection[baseRandom(0, length - 1)] : undefined; | ||
} | ||
if (n == null || guard) { | ||
return collection ? collection[baseRandom(0, collection.length - 1)] : undefined; | ||
} | ||
var result = shuffle(collection); | ||
result.length = nativeMin(nativeMax(0, n), result.length); | ||
result.length = nativeMin(n < 0 ? 0 : (+n || 0), result.length); | ||
return result; | ||
@@ -48,0 +45,0 @@ } |
@@ -1,3 +0,3 @@ | ||
Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/> | ||
Based on Underscore.js 1.5.2, copyright 2009-2013 Jeremy Ashkenas, | ||
Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> | ||
Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas, | ||
DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/> | ||
@@ -22,2 +22,2 @@ | ||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
{ | ||
"name": "lodash.sample", | ||
"version": "2.4.1", | ||
"description": "The Lo-Dash function `_.sample` as a Node.js module generated by lodash-cli.", | ||
"homepage": "http://lodash.com/custom-builds", | ||
"version": "3.0.0", | ||
"description": "The modern build of lodash’s `_.sample` as a module.", | ||
"homepage": "https://lodash.com/", | ||
"icon": "https://lodash.com/icon.svg", | ||
"license": "MIT", | ||
"keywords": ["functional", "lodash", "lodash-modularized", "server", "util"], | ||
"keywords": "lodash, lodash-modularized, stdlib, util", | ||
"author": "John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)", | ||
"contributors": [ | ||
"John-David Dalton <john.david.dalton@gmail.com> (http://allyoucanleet.com/)", | ||
"Benjamin Tan <demoneaux@gmail.com> (https://d10.github.io/)", | ||
"Blaine Bublitz <blaine@iceddev.com> (http://www.iceddev.com/)", | ||
"Kit Cambridge <github@kitcambridge.be> (http://kitcambridge.be/)", | ||
"Mathias Bynens <mathias@qiwi.be> (http://mathiasbynens.be/)" | ||
"Mathias Bynens <mathias@qiwi.be> (https://mathiasbynens.be/)" | ||
], | ||
"bugs": "https://github.com/lodash/lodash-cli/issues", | ||
"repository": { "type": "git", "url": "https://github.com/lodash/lodash-cli.git" }, | ||
"repository": "lodash/lodash", | ||
"scripts": { "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\"" }, | ||
"dependencies": { | ||
"lodash._baserandom": "~2.4.1", | ||
"lodash.isstring": "~2.4.1", | ||
"lodash.shuffle": "~2.4.1", | ||
"lodash.values": "~2.4.1" | ||
"lodash._baserandom": "^3.0.0", | ||
"lodash._isiterateecall": "^3.0.0", | ||
"lodash._toiterable": "^3.0.0", | ||
"lodash.shuffle": "^3.0.0" | ||
} | ||
} |
@@ -1,15 +0,20 @@ | ||
# lodash.sample v2.4.1 | ||
# lodash.sample v3.0.0 | ||
The [Lo-Dash](http://lodash.com/) function [`_.sample`](http://lodash.com/docs#sample) as a [Node.js](http://nodejs.org/) module generated by [lodash-cli](https://npmjs.org/package/lodash-cli). | ||
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.sample` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module. | ||
## Author | ||
## Installation | ||
| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter") | | ||
|---| | ||
| [John-David Dalton](http://allyoucanleet.com/) | | ||
Using npm: | ||
## Contributors | ||
```bash | ||
$ {sudo -H} npm i -g npm | ||
$ npm i --save lodash.sample | ||
``` | ||
| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](https://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") | | ||
|---|---|---| | ||
| [Blaine Bublitz](http://www.iceddev.com/) | [Kit Cambridge](http://kitcambridge.be/) | [Mathias Bynens](http://mathiasbynens.be/) | | ||
In Node.js/io.js: | ||
```js | ||
var sample = require('lodash.sample'); | ||
``` | ||
See the [documentation](https://lodash.com/docs#sample) or [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash.sample) for more details. |
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
0
21
4468
43
+ Addedlodash._toiterable@^3.0.0
+ Addedlodash._baserandom@3.0.1(transitive)
+ Addedlodash._basevalues@3.0.0(transitive)
+ Addedlodash._getnative@3.9.1(transitive)
+ Addedlodash._isiterateecall@3.0.9(transitive)
+ Addedlodash._toiterable@3.0.4(transitive)
+ Addedlodash.isarguments@3.1.0(transitive)
+ Addedlodash.isarray@3.0.4(transitive)
+ Addedlodash.keys@3.1.2(transitive)
+ Addedlodash.shuffle@3.1.0(transitive)
- Removedlodash.isstring@~2.4.1
- Removedlodash.values@~2.4.1
- Removedlodash._basebind@2.4.1(transitive)
- Removedlodash._basecreate@2.4.1(transitive)
- Removedlodash._basecreatecallback@2.4.1(transitive)
- Removedlodash._basecreatewrapper@2.4.1(transitive)
- Removedlodash._baserandom@2.4.1(transitive)
- Removedlodash._createwrapper@2.4.1(transitive)
- Removedlodash._isnative@2.4.1(transitive)
- Removedlodash._objecttypes@2.4.1(transitive)
- Removedlodash._setbinddata@2.4.1(transitive)
- Removedlodash._shimkeys@2.4.1(transitive)
- Removedlodash._slice@2.4.1(transitive)
- Removedlodash.bind@2.4.1(transitive)
- Removedlodash.foreach@2.4.1(transitive)
- Removedlodash.forown@2.4.1(transitive)
- Removedlodash.identity@2.4.1(transitive)
- Removedlodash.isfunction@2.4.1(transitive)
- Removedlodash.isobject@2.4.1(transitive)
- Removedlodash.isstring@2.4.1(transitive)
- Removedlodash.keys@2.4.1(transitive)
- Removedlodash.noop@2.4.1(transitive)
- Removedlodash.shuffle@2.4.1(transitive)
- Removedlodash.support@2.4.1(transitive)
- Removedlodash.values@2.4.1(transitive)
Updatedlodash._baserandom@^3.0.0
Updatedlodash.shuffle@^3.0.0