UNPKG

formalize

Version:

Node.js NoSQL ActiveRecord ORM layer for FoundationDB

125 lines (84 loc) 4.72 kB
<!DOCTYPE html> <html> <head> <title>index.coffee</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 class="sections"> <li id="title"> <div class="annotation"> <h1>index.coffee</h1> </div> </li> <li id="section-1"> <div class="annotation"> <div class="pilwrap "> <a class="pilcrow" href="#section-1">&#182;</a> </div> </div> <div class="content"><div class='highlight'><pre>providers = {}</pre></div></div> </li> <li id="section-2"> <div class="annotation"> <div class="pilwrap "> <a class="pilcrow" href="#section-2">&#182;</a> </div> <h2 id="factory-function-">Factory function.</h2> </div> <div class="content"><div class='highlight'><pre><span class="hljs-property">@param</span> {String} dbType Database system type. <span class="hljs-property">@return</span> {Function} Provider Factory</pre></div></div> </li> <li id="section-3"> <div class="annotation"> <div class="pilwrap "> <a class="pilcrow" href="#section-3">&#182;</a> </div> <h1 id="-">#</h1> </div> <div class="content"><div class='highlight'><pre><span class="hljs-built_in">module</span>.e<span class="hljs-function"><span class="hljs-title">xports</span> = <span class="hljs-params">(dbType)</span> -&gt;</span> Provider = <span class="hljs-built_in">require</span>(<span class="hljs-string">"./provider/<span class="hljs-subst">#{dbType}</span>"</span>)</pre></div></div> </li> <li id="section-4"> <div class="annotation"> <div class="pilwrap "> <a class="pilcrow" href="#section-4">&#182;</a> </div> <h2 id="returns-a-typed-provider-for-a-specific-database-">Returns a typed provider for a specific database.</h2> </div> <div class="content"><div class='highlight'><pre> <span class="hljs-property">@param</span> {String} dbName Database name. <span class="hljs-property">@param</span> {Object} options Provider specific configuration options. <span class="hljs-property">@param</span> {Function} callback Function called <span class="hljs-keyword">when</span> provider connected to database. <span class="hljs-property">@return</span> {Object} Provider <span class="hljs-keyword">if</span> callback <span class="hljs-keyword">is</span> defined</pre></div></div> </li> <li id="section-5"> <div class="annotation"> <div class="pilwrap "> <a class="pilcrow" href="#section-5">&#182;</a> </div> <h1 id="-">#</h1> </div> <div class="content"><div class='highlight'><pre><span class="hljs-function"> <span class="hljs-params">(dbName, options, callback)</span> -&gt;</span> <span class="hljs-keyword">if</span> (<span class="hljs-keyword">typeof</span>(options) <span class="hljs-keyword">is</span> <span class="hljs-string">'function'</span>) callback = options options = <span class="hljs-literal">null</span> key = <span class="hljs-string">"<span class="hljs-subst">#{dbType}</span>:<span class="hljs-subst">#{dbName}</span>"</span> provider = providers[key] <span class="hljs-keyword">if</span> (!provider) provider = <span class="hljs-keyword">new</span> Provider(dbType, dbName) providers[key] = provider provider.<span class="hljs-literal">on</span>(<span class="hljs-string">'connected'</span>, callback) <span class="hljs-keyword">if</span> (callback) provider.connect(options) <span class="hljs-keyword">if</span> (!callback) <span class="hljs-keyword">return</span> provider <span class="hljs-keyword">else</span> <span class="hljs-keyword">return</span></pre></div></div> </li> </ul> </div> </body> </html>