Conversation
✅ Deploy Preview for lodash ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
| @@ -1699,12 +1699,12 @@ <h4>Arguments</h4> | |||
| <h4>Returns</h4> | |||
| <p><em>(Array)</em>: Returns the new filtered array.</p> | |||
| <h4>Example</h4> | |||
| <div class="highlight js"><pre><div><span class="type">var</span> users = [</div><div>  { <span class="string">'user'</span>: <span class="string">'barney'</span><span class="delimiter">,</span> <span class="string">'age'</span>: <span class="numeric">36</span><span class="delimiter">,</span> <span class="string">'active'</span>: true }<span class="delimiter">,</span></div><div>  { <span class="string">'user'</span>: <span class="string">'fred'</span><span class="delimiter">,</span>   <span class="string">'age'</span>: <span class="numeric">40</span><span class="delimiter">,</span> <span class="string">'active'</span>: false }</div><div>];</div><div> </div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(users<span class="delimiter">,</span> <span class="type">function</span>(o) { return !o<span class="delimiter">.</span>active; });</div><div><span class="comment">// => objects for ['fred']</span></div><div> </div><div><span class="comment">// The `_.matches` iteratee shorthand.</span></div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(users<span class="delimiter">,</span> { <span class="string">'age'</span>: <span class="numeric">36</span><span class="delimiter">,</span> <span class="string">'active'</span>: true });</div><div><span class="comment">// => objects for ['barney']</span></div><div> </div><div><span class="comment">// The `_.matchesProperty` iteratee shorthand.</span></div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(users<span class="delimiter">,</span> [<span class="string">'active'</span><span class="delimiter">,</span> false]);</div><div><span class="comment">// => objects for ['fred']</span></div><div> </div><div><span class="comment">// The `_.property` iteratee shorthand.</span></div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(users<span class="delimiter">,</span> <span class="string">'active'</span>);</div><div><span class="comment">// => objects for ['barney']</span></div></pre></div> | |||
| <div class="highlight js"><pre><div><span class="type">var</span> users = [</div><div>  { <span class="string">'user'</span>: <span class="string">'barney'</span><span class="delimiter">,</span> <span class="string">'age'</span>: <span class="numeric">36</span><span class="delimiter">,</span> <span class="string">'active'</span>: true }<span class="delimiter">,</span></div><div>  { <span class="string">'user'</span>: <span class="string">'fred'</span><span class="delimiter">,</span>   <span class="string">'age'</span>: <span class="numeric">40</span><span class="delimiter">,</span> <span class="string">'active'</span>: false }</div><div>];</div><div> </div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(users<span class="delimiter">,</span> <span class="type">function</span>(o) { return !o<span class="delimiter">.</span>active; });</div><div><span class="comment">// => objects for ['fred']</span></div><div> </div><div><span class="comment">// The `_.matches` iteratee shorthand.</span></div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(users<span class="delimiter">,</span> { <span class="string">'age'</span>: <span class="numeric">36</span><span class="delimiter">,</span> <span class="string">'active'</span>: true });</div><div><span class="comment">// => objects for ['barney']</span></div><div> </div><div><span class="comment">// The `_.matchesProperty` iteratee shorthand.</span></div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(users<span class="delimiter">,</span> [<span class="string">'active'</span><span class="delimiter">,</span> false]);</div><div><span class="comment">// => objects for ['fred']</span></div><div> </div><div><span class="comment">// The `_.property` iteratee shorthand.</span></div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(users<span class="delimiter">,</span> <span class="string">'active'</span>);</div><div><span class="comment">// => objects for ['barney']</span></div><div> </div><div><span class="comment">// Combining several predicates using `_.overEvery` or `_.overSome`.</span></div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(users<span class="delimiter">,</span> _<span class="delimiter method">.</span><span class="name">overSome</span>([{ <span class="string">'age'</span>: <span class="numeric">36</span> }<span class="delimiter">,</span> [<span class="string">'age'</span><span class="delimiter">,</span> <span class="numeric">40</span>]]));</div><div><span class="comment">// => objects for ['fred', 'barney']</span></div></pre></div> | |||
There was a problem hiding this comment.
leaving comment explaining this diff since its unreadble, these diffs are from the doc build output from lodash repo
Added a 5th example demonstrating how to combine multiple predicates with OR logic:
// Combining several predicates using `_.overEvery` or `_.overSome`.
_.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));
// => objects for ['fred', 'barney']https://github.com/lodash/lodash/blob/9648f692b0fc7c2f6a7a763d754377200126c2e8/lodash.js#L9235-L9238
| @@ -2171,15 +2171,15 @@ <h4>Arguments</h4> | |||
| <h4>Returns</h4> | |||
| <p><em>(Array)</em>: Returns the new sorted array.</p> | |||
| <h4>Example</h4> | |||
| <div class="highlight js"><pre><div><span class="type">var</span> users = [</div><div>  { <span class="string">'user'</span>: <span class="string">'fred'</span><span class="delimiter">,</span>   <span class="string">'age'</span>: <span class="numeric">48</span> }<span class="delimiter">,</span></div><div>  { <span class="string">'user'</span>: <span class="string">'barney'</span><span class="delimiter">,</span> <span class="string">'age'</span>: <span class="numeric">36</span> }<span class="delimiter">,</span></div><div>  { <span class="string">'user'</span>: <span class="string">'fred'</span><span class="delimiter">,</span>   <span class="string">'age'</span>: <span class="numeric">40</span> }<span class="delimiter">,</span></div><div>  { <span class="string">'user'</span>: <span class="string">'barney'</span><span class="delimiter">,</span> <span class="string">'age'</span>: <span class="numeric">34</span> }</div><div>];</div><div> </div><div>_<span class="delimiter method">.</span><span class="name">sortBy</span>(users<span class="delimiter">,</span> [<span class="type">function</span>(o) { return o<span class="delimiter">.</span>user; }]);</div><div><span class="comment">// => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]</span></div><div> </div><div>_<span class="delimiter method">.</span><span class="name">sortBy</span>(users<span class="delimiter">,</span> [<span class="string">'user'</span><span class="delimiter">,</span> <span class="string">'age'</span>]);</div><div><span class="comment">// => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]</span></div></pre></div> | |||
| <div class="highlight js"><pre><div><span class="type">var</span> users = [</div><div>  { <span class="string">'user'</span>: <span class="string">'fred'</span><span class="delimiter">,</span>   <span class="string">'age'</span>: <span class="numeric">48</span> }<span class="delimiter">,</span></div><div>  { <span class="string">'user'</span>: <span class="string">'barney'</span><span class="delimiter">,</span> <span class="string">'age'</span>: <span class="numeric">36</span> }<span class="delimiter">,</span></div><div>  { <span class="string">'user'</span>: <span class="string">'fred'</span><span class="delimiter">,</span>   <span class="string">'age'</span>: <span class="numeric">30</span> }<span class="delimiter">,</span></div><div>  { <span class="string">'user'</span>: <span class="string">'barney'</span><span class="delimiter">,</span> <span class="string">'age'</span>: <span class="numeric">34</span> }</div><div>];</div><div> </div><div>_<span class="delimiter method">.</span><span class="name">sortBy</span>(users<span class="delimiter">,</span> [<span class="type">function</span>(o) { return o<span class="delimiter">.</span>user; }]);</div><div><span class="comment">// => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]</span></div><div> </div><div>_<span class="delimiter method">.</span><span class="name">sortBy</span>(users<span class="delimiter">,</span> [<span class="string">'user'</span><span class="delimiter">,</span> <span class="string">'age'</span>]);</div><div><span class="comment">// => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]</span></div></pre></div> | |||
There was a problem hiding this comment.
leaving comment explaining this diff since its unreadble, these diffs are from the doc build output from lodash repo
Changed the third user's age from 40 to 30 to make multi-level sorting more obvious:
{ 'user': 'fred', 'age': 30 } // was 40
| @@ -6041,20 +6045,24 @@ <h4>Arguments</h4> | |||
| <h4>Returns</h4> | |||
| <p><em>(Function)</em>: Returns the new spec function.</p> | |||
| <h4>Example</h4> | |||
| <div class="highlight js"><pre><div><span class="type">var</span> objects = [</div><div>  { <span class="string">'a'</span>: <span class="numeric">1</span><span class="delimiter">,</span> <span class="string">'b'</span>: <span class="numeric">2</span><span class="delimiter">,</span> <span class="string">'c'</span>: <span class="numeric">3</span> }<span class="delimiter">,</span></div><div>  { <span class="string">'a'</span>: <span class="numeric">4</span><span class="delimiter">,</span> <span class="string">'b'</span>: <span class="numeric">5</span><span class="delimiter">,</span> <span class="string">'c'</span>: <span class="numeric">6</span> }</div><div>];</div><div> </div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(objects<span class="delimiter">,</span> _<span class="delimiter method">.</span><span class="name">matches</span>({ <span class="string">'a'</span>: <span class="numeric">4</span><span class="delimiter">,</span> <span class="string">'c'</span>: <span class="numeric">6</span> }));</div><div><span class="comment">// => [{ 'a': 4, 'b': 5, 'c': 6 }]</span></div></pre></div> | |||
| <div class="highlight js"><pre><div><span class="type">var</span> objects = [</div><div>  { <span class="string">'a'</span>: <span class="numeric">1</span><span class="delimiter">,</span> <span class="string">'b'</span>: <span class="numeric">2</span><span class="delimiter">,</span> <span class="string">'c'</span>: <span class="numeric">3</span> }<span class="delimiter">,</span></div><div>  { <span class="string">'a'</span>: <span class="numeric">4</span><span class="delimiter">,</span> <span class="string">'b'</span>: <span class="numeric">5</span><span class="delimiter">,</span> <span class="string">'c'</span>: <span class="numeric">6</span> }</div><div>];</div><div> </div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(objects<span class="delimiter">,</span> _<span class="delimiter method">.</span><span class="name">matches</span>({ <span class="string">'a'</span>: <span class="numeric">4</span><span class="delimiter">,</span> <span class="string">'c'</span>: <span class="numeric">6</span> }));</div><div><span class="comment">// => [{ 'a': 4, 'b': 5, 'c': 6 }]</span></div><div> </div><div><span class="comment">// Checking for several possible values</span></div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(objects<span class="delimiter">,</span> _<span class="delimiter method">.</span><span class="name">overSome</span>([_<span class="delimiter method">.</span><span class="name">matches</span>({ <span class="string">'a'</span>: <span class="numeric">1</span> })<span class="delimiter">,</span> _<span class="delimiter method">.</span><span class="name">matches</span>({ <span class="string">'a'</span>: <span class="numeric">4</span> })]));</div><div><span class="comment">// => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]</span></div></pre></div> | |||
There was a problem hiding this comment.
_.matches - Added _.overSome example
Added a 2nd example showing how to check for multiple possible matches:
// Checking for several possible values
_.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));
// => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]| @@ -6065,12 +6073,12 @@ <h4>Arguments</h4> | |||
| <h4>Returns</h4> | |||
| <p><em>(Function)</em>: Returns the new spec function.</p> | |||
| <h4>Example</h4> | |||
| <div class="highlight js"><pre><div><span class="type">var</span> objects = [</div><div>  { <span class="string">'a'</span>: <span class="numeric">1</span><span class="delimiter">,</span> <span class="string">'b'</span>: <span class="numeric">2</span><span class="delimiter">,</span> <span class="string">'c'</span>: <span class="numeric">3</span> }<span class="delimiter">,</span></div><div>  { <span class="string">'a'</span>: <span class="numeric">4</span><span class="delimiter">,</span> <span class="string">'b'</span>: <span class="numeric">5</span><span class="delimiter">,</span> <span class="string">'c'</span>: <span class="numeric">6</span> }</div><div>];</div><div> </div><div>_<span class="delimiter method">.</span><span class="support">find</span>(objects<span class="delimiter">,</span> _<span class="delimiter method">.</span><span class="name">matchesProperty</span>(<span class="string">'a'</span><span class="delimiter">,</span> <span class="numeric">4</span>));</div><div><span class="comment">// => { 'a': 4, 'b': 5, 'c': 6 }</span></div></pre></div> | |||
| <div class="highlight js"><pre><div><span class="type">var</span> objects = [</div><div>  { <span class="string">'a'</span>: <span class="numeric">1</span><span class="delimiter">,</span> <span class="string">'b'</span>: <span class="numeric">2</span><span class="delimiter">,</span> <span class="string">'c'</span>: <span class="numeric">3</span> }<span class="delimiter">,</span></div><div>  { <span class="string">'a'</span>: <span class="numeric">4</span><span class="delimiter">,</span> <span class="string">'b'</span>: <span class="numeric">5</span><span class="delimiter">,</span> <span class="string">'c'</span>: <span class="numeric">6</span> }</div><div>];</div><div> </div><div>_<span class="delimiter method">.</span><span class="support">find</span>(objects<span class="delimiter">,</span> _<span class="delimiter method">.</span><span class="name">matchesProperty</span>(<span class="string">'a'</span><span class="delimiter">,</span> <span class="numeric">4</span>));</div><div><span class="comment">// => { 'a': 4, 'b': 5, 'c': 6 }</span></div><div> </div><div><span class="comment">// Checking for several possible values</span></div><div>_<span class="delimiter method">.</span><span class="name">filter</span>(objects<span class="delimiter">,</span> _<span class="delimiter method">.</span><span class="name">overSome</span>([_<span class="delimiter method">.</span><span class="name">matchesProperty</span>(<span class="string">'a'</span><span class="delimiter">,</span> <span class="numeric">1</span>)<span class="delimiter">,</span> _<span class="delimiter method">.</span><span class="name">matchesProperty</span>(<span class="string">'a'</span><span class="delimiter">,</span> <span class="numeric">4</span>)]));</div><div><span class="comment">// => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]</span></div></pre></div> | |||
There was a problem hiding this comment.
_.matchesProperty - Added _.overSome example
Added a 2nd example showing how to check for multiple possible property values:
// Checking for several possible values
_.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)]));
// => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]| @@ -6218,12 +6236,12 @@ <h4>Arguments</h4> | |||
| <h4>Returns</h4> | |||
| <p><em>(Function)</em>: Returns the new function.</p> | |||
| <h4>Example</h4> | |||
| <div class="highlight js"><pre><div><span class="type">var</span> func = _<span class="delimiter method">.</span><span class="name">overSome</span>([<span class="support">Boolean</span><span class="delimiter">,</span> isFinite]);</div><div> </div><div><span class="name">func</span>(<span class="string">'1'</span>);</div><div><span class="comment">// => true</span></div><div> </div><div><span class="name">func</span>(null);</div><div><span class="comment">// => true</span></div><div> </div><div><span class="name">func</span>(NaN);</div><div><span class="comment">// => false</span></div></pre></div> | |||
| <div class="highlight js"><pre><div><span class="type">var</span> func = _<span class="delimiter method">.</span><span class="name">overSome</span>([<span class="support">Boolean</span><span class="delimiter">,</span> isFinite]);</div><div> </div><div><span class="name">func</span>(<span class="string">'1'</span>);</div><div><span class="comment">// => true</span></div><div> </div><div><span class="name">func</span>(null);</div><div><span class="comment">// => true</span></div><div> </div><div><span class="name">func</span>(NaN);</div><div><span class="comment">// => false</span></div><div> </div><div><span class="type">var</span> matchesFunc = _<span class="delimiter method">.</span><span class="name">overSome</span>([{ <span class="string">'a'</span>: <span class="numeric">1</span> }<span class="delimiter">,</span> { <span class="string">'a'</span>: <span class="numeric">2</span> }])</div><div><span class="type">var</span> matchesPropertyFunc = _<span class="delimiter method">.</span><span class="name">overSome</span>([[<span class="string">'a'</span><span class="delimiter">,</span> <span class="numeric">1</span>]<span class="delimiter">,</span> [<span class="string">'a'</span><span class="delimiter">,</span> <span class="numeric">2</span>]])</div></pre></div> | |||
There was a problem hiding this comment.
_.overSome - Added iteratee shorthand examples
Added two examples demonstrating automatic predicate conversion:
var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }])
var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]])| @@ -4968,7 +4968,7 @@ <h4>Example</h4> | |||
| <h2><code>“Seq” Methods</code></h2> | |||
| <div> | |||
| <h3 id="lodash"><a href="#lodash" class="fa fa-link"></a><code>_(value)</code></h3> | |||
| <p><a href="https://github.com/lodash/lodash/blob/4.17.15/lodash.js#L1648">source</a></p> | |||
| [source](https://github.com/lodash/lodash/blob/4.17.21/lodash.js#L1690) | |||
I figured out how the docs are meant to be built.
From the lodash main repo, follow these directions:
https://gist.github.com/jonchurch/d0f641e9395a34afe35c9ab4043f378a
((reproduced instructions for posterity...)
# Building Lodash Documentation HTMLSteps
Why Node 11?
oniguruma@6.2.1(used by marky-markdown) is incompatible with modern Node.js due to oldnan@^2.0.9and V8 API changes. Node 11 is the newest version that works.If you have
ignore-scripts=truein~/.npmrcCheck if you have it enabled:
If it returns
true, use these commands instead:to generate an html document
then copy that over into this repo's doc dir
then update to the latest version of lodash, telling the site what the latest version is:
npm i -D lodash@4.17.21 # pass the latest version string into this script to update config for the site build npm run build:config 4.17.21 npm run buildAnd that brings us to wherew we are now in this PR