fluentnode
Version:
Fluent apis for node (based on the concepts used in C#'s FluentSharp
470 lines (305 loc) • 15.2 kB
HTML
<html>
<head>
<title>Number.litcoffee</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
<link rel="stylesheet" media="all" href="docco.css" />
</head>
<body>
<div id="container">
<div id="background"></div>
<ul id="jump_to">
<li>
<a class="large" href="javascript:void(0);">Jump To …</a>
<a class="small" href="javascript:void(0);">+</a>
<div id="jump_wrapper">
<div id="jump_page">
<a class="source" href="assert_Array.html">
assert_Array.litcoffee
</a>
<a class="source" href="assert_Boolean.html">
assert_Boolean.litcoffee
</a>
<a class="source" href="assert_Function.html">
assert_Function.litcoffee
</a>
<a class="source" href="assert_Number.html">
assert_Number.litcoffee
</a>
<a class="source" href="assert_Object.html">
assert_Object.litcoffee
</a>
<a class="source" href="assert_String.html">
assert_String.litcoffee
</a>
<a class="source" href="fluentnode.html">
fluentnode.coffee
</a>
<a class="source" href="index.html">
index.md
</a>
<a class="source" href="Array.html">
Array.litcoffee
</a>
<a class="source" href="Boolean.html">
Boolean.litcoffee
</a>
<a class="source" href="Function.html">
Function.litcoffee
</a>
<a class="source" href="Number.html">
Number.litcoffee
</a>
<a class="source" href="Object.html">
Object.litcoffee
</a>
<a class="source" href="String.html">
String.litcoffee
</a>
<a class="source" href="console.html">
console.litcoffee
</a>
<a class="source" href="crypto.html">
crypto.litcoffee
</a>
<a class="source" href="fs.html">
fs.litcoffee
</a>
<a class="source" href="http.GET.html">
http.GET.litcoffee
</a>
<a class="source" href="http.POST.html">
http.POST.litcoffee
</a>
<a class="source" href="http.Server.html">
http.Server.litcoffee
</a>
<a class="source" href="http.html">
http.litcoffee
</a>
<a class="source" href="path.html">
path.litcoffee
</a>
<a class="source" href="process.html">
process.litcoffee
</a>
<a class="source" href="encoding.html">
encoding.litcoffee
</a>
<a class="source" href="globals.html">
globals.litcoffee
</a>
<a class="source" href="assert_Array.test.html">
assert_Array.test.coffee
</a>
<a class="source" href="assert_Boolean.test.html">
assert_Boolean.test.coffee
</a>
<a class="source" href="assert_Function.test.html">
assert_Function.test.coffee
</a>
<a class="source" href="assert_Number.test.html">
assert_Number.test.coffee
</a>
<a class="source" href="assert_Object.test.html">
assert_Object.test.coffee
</a>
<a class="source" href="assert_String.test.html">
assert_String.test.coffee
</a>
<a class="source" href="fluentnode.test.html">
fluentnode.test.coffee
</a>
<a class="source" href="Array.test.html">
Array.test.coffee
</a>
<a class="source" href="Boolean.test.html">
Boolean.test.coffee
</a>
<a class="source" href="Function.test.html">
Function.test.coffee
</a>
<a class="source" href="Number.test.html">
Number.test.coffee
</a>
<a class="source" href="Object.test.html">
Object.test.coffee
</a>
<a class="source" href="String.test.html">
String.test.coffee
</a>
<a class="source" href="console.test.html">
console.test.coffee
</a>
<a class="source" href="crypto.test.html">
crypto.test.coffee
</a>
<a class="source" href="fs.test.html">
fs.test.coffee
</a>
<a class="source" href="http.GET.test.html">
http.GET.test.coffee
</a>
<a class="source" href="http.POST.test.html">
http.POST.test.coffee
</a>
<a class="source" href="http.Server.test.html">
http.Server.test.coffee
</a>
<a class="source" href="http.test.html">
http.test.coffee
</a>
<a class="source" href="path.test.html">
path.test.coffee
</a>
<a class="source" href="process.test.html">
process.test.coffee
</a>
<a class="source" href="encoding.test.html">
encoding.test.coffee
</a>
<a class="source" href="globals.test.html">
globals.test.coffee
</a>
</div>
</li>
</ul>
<ul class="sections">
<li id="title">
<div class="annotation">
<h1>Number.litcoffee</h1>
</div>
</li>
<li id="section-1">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-1">¶</a>
</div>
<p>Adds helper methods to the native javascript Number class</p>
<p>@.<strong>add</strong> value</p>
<p>Returns <code>@</code> incremented by <code>value</code></p>
<p>If value is not a number the original value is returned unmodifed</p>
<p>Note that the original <code>@</code> value is not modified</p>
</div>
<div class="content"><div class='highlight'><pre><span class="hljs-attribute">Number</span>::add = <span class="hljs-function"><span class="hljs-params">(value)</span>-></span>
<span class="hljs-keyword">if</span> is_Number(value)
@ + value
<span class="hljs-keyword">else</span>
@</pre></div></div>
</li>
<li id="section-2">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-2">¶</a>
</div>
<p>@.<strong>dec</strong> [value]</p>
<p>Returns <code>@</code> decremented by 1 or by <code>[value]</code> (if provided)</p>
<p>Note that the original <code>@</code> value is not modified</p>
</div>
<div class="content"><div class='highlight'><pre><span class="hljs-attribute">Number</span>::dec = <span class="hljs-function"><span class="hljs-params">(value)</span>-></span>
<span class="hljs-keyword">if</span> is_Number(value)
@ - value
<span class="hljs-keyword">else</span>
@ - <span class="hljs-number">1</span></pre></div></div>
</li>
<li id="section-3">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-3">¶</a>
</div>
<p>@.<strong>in_Between</strong> min, max</p>
<p>Returns true if @ is between <code>min</code> and <code>max</code> for example</p>
<pre><code class="lang-coffee">(<span class="hljs-number">10</span>).in_Between(<span class="hljs-number">5</span>,<span class="hljs-number">15</span>) <span class="hljs-comment"># returns true</span>
(<span class="hljs-number">10</span>).in_Between(<span class="hljs-number">10</span>,<span class="hljs-number">15</span>) <span class="hljs-comment"># returns false</span>
(<span class="hljs-number">10</span>).in_Between(<span class="hljs-number">50</span>,<span class="hljs-number">50</span>) <span class="hljs-comment"># returns false</span>
</code></pre>
</div>
<div class="content"><div class='highlight'><pre><span class="hljs-attribute">Number</span>::in_Between = <span class="hljs-function"><span class="hljs-params">(min,max )</span>-></span>
(min < @ < max)</pre></div></div>
</li>
<li id="section-4">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-4">¶</a>
</div>
<p>@.<strong>inc</strong> [value]</p>
<p>Returns <code>@</code> incremented by 1 or by <code>[value]</code> (if provided)</p>
<p>Note that the original <code>@</code> value is not modified</p>
</div>
<div class="content"><div class='highlight'><pre><span class="hljs-attribute">Number</span>::inc = <span class="hljs-function"><span class="hljs-params">(value)</span>-></span>
<span class="hljs-keyword">if</span> is_Number(value)
@ + value
<span class="hljs-keyword">else</span>
@ + <span class="hljs-number">1</span></pre></div></div>
</li>
<li id="section-5">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-5">¶</a>
</div>
<p>@.<strong>invoke_After</strong> callback</p>
<p>Invokes the <strong>callback</strong> function after <code>@</code> miliseconds</p>
</div>
<div class="content"><div class='highlight'><pre><span class="hljs-attribute">Number</span>::invoke_After = <span class="hljs-function"><span class="hljs-params">(callback)</span>-></span>
<span class="hljs-keyword">if</span> callback <span class="hljs-keyword">instanceof</span> Function
setTimeout callback, @
<span class="hljs-attribute">Number</span>::wait = <span class="hljs-attribute">Number</span>::invoke_After</pre></div></div>
</li>
<li id="section-6">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-6">¶</a>
</div>
<p>@.<strong>is_Number</strong></p>
<p>Returns true if <code>@</code> is a number</p>
<p>Returns false if <code>@</code> is NaN (i.e. Not a Number)</p>
</div>
<div class="content"><div class='highlight'><pre><span class="hljs-attribute">Number</span>::is_Number = <span class="hljs-function">-></span>
<span class="hljs-keyword">return</span> @ <span class="hljs-keyword">instanceof</span> Number <span class="hljs-keyword">and</span> @.str().is_Not(<span class="hljs-string">'NaN'</span>)</pre></div></div>
</li>
<li id="section-7">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-7">¶</a>
</div>
<p>@.<strong>log</strong></p>
<p>Logs @ to the console</p>
</div>
<div class="content"><div class='highlight'><pre><span class="hljs-attribute">Number</span>::log =
<span class="hljs-function">-></span> <span class="hljs-built_in">console</span>.log @.toString()</pre></div></div>
</li>
<li id="section-8">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-8">¶</a>
</div>
<p>@.<strong>random</strong></p>
<p>returns a random number between 0 and @</p>
</div>
<div class="content"><div class='highlight'><pre><span class="hljs-attribute">Number</span>::random = <span class="hljs-function">-></span> ~~(Math.random()*@)</pre></div></div>
</li>
<li id="section-9">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-9">¶</a>
</div>
<p>@.<strong>str</strong></p>
<p>Short version of <code>toString</code></p>
<p> Number::str =
-> @.toString()</p>
<hr>
</div>
</li>
<li id="section-10">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-10">¶</a>
</div>
<p>back to <a href="index.html">index</a></p>
</div>
</li>
</ul>
</div>
</body>
</html>