<spanclass="nx">define</span><spanclass="p">(</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">require</span><spanclass="p">,</span><spanclass="nx">exports</span><spanclass="p">)</span><spanclass="p">{</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>The "JoinClause" is an object holding any necessary info about a join,
including the type, and any associated tables & columns being joined.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="kd">var</span><spanclass="nx">JoinClause</span><spanclass="o">=</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">type</span><spanclass="p">,</span><spanclass="nx">table</span><spanclass="p">)</span><spanclass="p">{</span>
<spanclass="nx">JoinClause</span><spanclass="p">.</span><spanclass="nx">prototype</span><spanclass="o">=</span><spanclass="p">{</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Adds an "on" clause to the current join object.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">on</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">first</span><spanclass="p">,</span><spanclass="nx">operator</span><spanclass="p">,</span><spanclass="nx">second</span><spanclass="p">)</span><spanclass="p">{</span>
<spanclass="p">},</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Adds an "and on" clause to the current join object.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">andOn</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">()</span><spanclass="p">{</span>
<spanclass="p">},</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Adds an "or on" clause to the current join object.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">orOn</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">first</span><spanclass="p">,</span><spanclass="nx">operator</span><spanclass="p">,</span><spanclass="nx">second</span><spanclass="p">)</span><spanclass="p">{</span>
<spanclass="p">},</span></div></div></div><divclass="segment"><divclass="comments"><divclass="wrapper"><p>Explicitly set the type of join, useful within a function when creating a grouped join.</p></div></div><divclass="code"><divclass="wrapper"><spanclass="nx">type</span><spanclass="o">:</span><spanclass="kd">function</span><spanclass="p">(</span><spanclass="nx">type</span><spanclass="p">)</span><spanclass="p">{</span>