Travis build: 1006
This commit is contained in:
@ -940,17 +940,24 @@ a <span class="token operator">===</span> b<span class="token punctuation">;</sp
|
||||
);
|
||||
};</span>
|
||||
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">palindrome</span><span class="token punctuation">(</span><span class="token string">'taco cat'</span><span class="token punctuation">);</span> <span class="token comment">// true</span>
|
||||
</pre><button class="primary clipboard-copy"><img src="clipboard.svg" alt="clipboard"> Copy to clipboard</button></div></div><div class="card fluid"><h3 id="pluralize" class="section double-padded">pluralize</h3><div class="section double-padded"><p>If <code>num</code> is greater than <code>1</code> returns the plural form of the given string, else return the singular form.</p><p>Check if <code>num</code> is greater than <code>0</code>. Throw an appropriate <code>Error</code> if not, return the appropriate string otherwise. Omit the third argument, <code>items</code>, to use a default plural form same as <code>item</code> suffixed with a single <code>'s'</code>.</p><pre class="language-js"><span class="token keyword">const</span> pluralize <span class="token operator">=</span> <span class="token punctuation">(</span>num<span class="token punctuation">,</span> item<span class="token punctuation">,</span> items <span class="token operator">=</span> item <span class="token operator">+</span> <span class="token string">'s'</span><span class="token punctuation">)</span> <span class="token operator">=></span>
|
||||
num <span class="token operator"><=</span> <span class="token number">0</span>
|
||||
<span class="token operator">?</span> <span class="token punctuation">(()</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
||||
<span class="token keyword">throw new</span> <span class="token class-name">Error</span><span class="token punctuation">(</span><span class="token template-string"><span class="token string">`'num' should be >= 1. Value povided was </span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>num<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">.`</span></span><span class="token punctuation">);
|
||||
})()
|
||||
:</span> num <span class="token operator">===</span> <span class="token number">1</span> <span class="token operator">?</span> item <span class="token punctuation">:</span> items<span class="token punctuation">;</span>
|
||||
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">pluralize</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token string">'apple'</span><span class="token punctuation">,</span> <span class="token string">'apples'</span><span class="token punctuation">);</span> <span class="token comment">// 'apple'</span>
|
||||
<span class="token function">pluralize</span><span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token string">'apple'</span><span class="token punctuation">,</span> <span class="token string">'apples'</span><span class="token punctuation">);</span> <span class="token comment">// 'apples'</span>
|
||||
</pre><button class="primary clipboard-copy"><img src="clipboard.svg" alt="clipboard"> Copy to clipboard</button></div></div><div class="card fluid"><h3 id="pluralize" class="section double-padded">pluralize</h3><div class="section double-padded"><p>Returns the singular or plural form of the word based on the input number. If the first argument is an <code>object</code>, it will use a closure by returning a function that can auto-pluralize words that don't simply end in <code>s</code> if the supplied dictionary contains the word.</p><p>If <code>num</code> is either <code>-1</code> or <code>1</code>, return the singular form of the word. If <code>num</code> is any other number, return the plural form. Omit the third argument to use the default of the singular word + <code>s</code>, or supply a custom pluralized word when necessary. If the first argument is an <code>object</code>, utilize a closure by returning a function which can use the supplied dictionary to resolve the correct plural form of the word.</p><pre class="language-js"><span class="token keyword">const</span> pluralize <span class="token operator">=</span> <span class="token punctuation">(</span>val<span class="token punctuation">,</span> word<span class="token punctuation">,</span> plural <span class="token operator">=</span> word <span class="token operator">+</span> <span class="token string">'s'</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
||||
<span class="token keyword">const</span> _pluralize <span class="token operator">=</span> <span class="token punctuation">(</span>num<span class="token punctuation">,</span> word<span class="token punctuation">,</span> plural <span class="token operator">=</span> word <span class="token operator">+</span> <span class="token string">'s'</span><span class="token punctuation">)</span> <span class="token operator">=></span>
|
||||
<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">].</span><span class="token function">includes</span><span class="token punctuation">(</span><span class="token function">Number</span><span class="token punctuation">(</span>num<span class="token punctuation">))</span> <span class="token operator">?</span> word <span class="token punctuation">:</span> plural<span class="token punctuation">;</span>
|
||||
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token keyword">typeof</span> val <span class="token operator">===</span> <span class="token string">'object'</span><span class="token punctuation">)</span> <span class="token keyword">return</span> <span class="token punctuation">(</span>num<span class="token punctuation">,</span> word<span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token function">_pluralize</span><span class="token punctuation">(</span>num<span class="token punctuation">,</span> word<span class="token punctuation">,</span> val<span class="token punctuation">[</span>word<span class="token punctuation">]);</span>
|
||||
<span class="token keyword">return</span> <span class="token function">_pluralize</span><span class="token punctuation">(</span>val<span class="token punctuation">,</span> word<span class="token punctuation">,</span> plural<span class="token punctuation">);
|
||||
};</span>
|
||||
</pre><label class="collapse">Show examples</label><pre class="language-js"><span class="token function">pluralize</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> <span class="token string">'apple'</span><span class="token punctuation">);</span> <span class="token comment">// 'apples'</span>
|
||||
<span class="token function">pluralize</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token string">'apple'</span><span class="token punctuation">);</span> <span class="token comment">// 'apple'</span>
|
||||
<span class="token function">pluralize</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token string">'apple'</span><span class="token punctuation">);</span> <span class="token comment">// 'apples'</span>
|
||||
<span class="token function">pluralize</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> <span class="token string">'apple'</span><span class="token punctuation">,</span> <span class="token string">'apples'</span><span class="token punctuation">);</span> <span class="token comment">// Gives error</span>
|
||||
<span class="token function">pluralize</span><span class="token punctuation">(</span><span class="token operator">-</span><span class="token number">3</span><span class="token punctuation">,</span> <span class="token string">'apple'</span><span class="token punctuation">,</span> <span class="token string">'apples'</span><span class="token punctuation">);</span> <span class="token comment">// Gives error</span>
|
||||
<span class="token function">pluralize</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> <span class="token string">'person'</span><span class="token punctuation">);</span> <span class="token comment">// 'person'</span>
|
||||
<span class="token function">pluralize</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token string">'person'</span><span class="token punctuation">,</span> <span class="token string">'people'</span><span class="token punctuation">);</span> <span class="token comment">// 'people'</span>
|
||||
|
||||
<span class="token keyword">const</span> PLURALS <span class="token operator">=</span> <span class="token punctuation">{</span>
|
||||
person<span class="token punctuation">:</span> <span class="token string">'people'</span><span class="token punctuation">,</span>
|
||||
radius<span class="token punctuation">:</span> <span class="token string">'radii'</span>
|
||||
<span class="token punctuation">};</span>
|
||||
<span class="token keyword">const</span> autoPluralize <span class="token operator">=</span> <span class="token function">pluralize</span><span class="token punctuation">(</span>PLURALS<span class="token punctuation">);</span>
|
||||
<span class="token function">autoPluralize</span><span class="token punctuation">(</span><span class="token number">2</span><span class="token punctuation">,</span> <span class="token string">'person'</span><span class="token punctuation">);</span> <span class="token comment">// 'people'</span>
|
||||
</pre><button class="primary clipboard-copy"><img src="clipboard.svg" alt="clipboard"> Copy to clipboard</button></div></div><div class="card fluid"><h3 id="repeatstring" class="section double-padded">repeatString</h3><div class="section double-padded"><p>Repeats a string n times using <code>String.repeat()</code></p><p>If no string is provided the default is <code>""</code> and the default number of times is 2.</p><pre class="language-js"><span class="token keyword">const</span> repeatString <span class="token operator">=</span> <span class="token punctuation">(</span>str <span class="token operator">=</span> <span class="token string">''</span><span class="token punctuation">,</span> num <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
|
||||
<span class="token keyword">return</span> num <span class="token operator">>=</span> <span class="token number">0</span> <span class="token operator">?</span> str<span class="token punctuation">.</span><span class="token function">repeat</span><span class="token punctuation">(</span>num<span class="token punctuation">) :</span> str<span class="token punctuation">;
|
||||
};</span>
|
||||
|
||||
Reference in New Issue
Block a user