knex/docs/clients/base/sqlite3/schemagrammar.html

98 lines
27 KiB
HTML
Raw Normal View History

2013-09-17 07:15:18 -04:00
<!DOCTYPE html><html lang="en"><head><title>clients/base/sqlite3/schemagrammar</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content="../../../"><meta name="groc-document-path" content="clients/base/sqlite3/schemagrammar"><meta name="groc-project-path" content="clients/base/sqlite3/schemagrammar.js"><link rel="stylesheet" type="text/css" media="all" href="../../../assets/style.css"><script type="text/javascript" src="../../../assets/behavior.js"></script><body><div id="meta"><div class="file-path">clients/base/sqlite3/schemagrammar.js</div></div><div id="document"><div class="segment"><div class="comments"><div class="wrapper"><h2 id="sqlite3-schemagrammar">SQLite3 SchemaGrammar</h2></div></div></div><div class="segment"><div class="code"><div class="wrapper"><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">define</span><span class="p">)</span> <span class="p">{</span>
<span class="s2">&quot;use strict&quot;</span><span class="p">;</span>
<span class="nx">define</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">require</span><span class="p">,</span> <span class="nx">exports</span><span class="p">)</span> <span class="p">{</span>
2013-09-18 11:56:32 -04:00
<span class="kd">var</span> <span class="nx">_</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;underscore&#39;</span><span class="p">);</span>
2013-09-17 07:15:18 -04:00
<span class="kd">var</span> <span class="nx">grammar</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;./grammar&#39;</span><span class="p">).</span><span class="nx">grammar</span><span class="p">;</span>
<span class="kd">var</span> <span class="nx">baseSchemaGrammar</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">&#39;../schemagrammar&#39;</span><span class="p">).</span><span class="nx">baseSchemaGrammar</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Grammar for the schema builder.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">exports</span><span class="p">.</span><span class="nx">schemaGrammar</span> <span class="o">=</span> <span class="nx">_</span><span class="p">.</span><span class="nx">defaults</span><span class="p">({</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>The possible column modifiers.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">modifiers</span><span class="o">:</span> <span class="p">[</span><span class="s1">&#39;Nullable&#39;</span><span class="p">,</span> <span class="s1">&#39;Default&#39;</span><span class="p">,</span> <span class="s1">&#39;Increment&#39;</span><span class="p">],</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile the query to determine if a table exists.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileTableExists</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">return</span> <span class="s2">&quot;select * from sqlite_master where type = &#39;table&#39; and name = ?&quot;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile the query to determine if a column exists.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileColumnExists</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">blueprint</span><span class="p">.</span><span class="nx">bindings</span> <span class="o">=</span> <span class="p">[];</span>
<span class="k">return</span> <span class="s2">&quot;PRAGMA table_info(&quot;</span> <span class="o">+</span> <span class="k">this</span><span class="p">.</span><span class="nx">wrapTable</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;)&quot;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile a create table command.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileCreateTable</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">columns</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">getColumns</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">).</span><span class="nx">join</span><span class="p">(</span><span class="s1">&#39;, &#39;</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">sql</span> <span class="o">=</span> <span class="s1">&#39;create table &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="p">.</span><span class="nx">wrapTable</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; (&#39;</span> <span class="o">+</span> <span class="nx">columns</span><span class="p">;</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>SQLite forces primary keys to be added when the table is initially created
so we will need to check for a primary key commands and add the columns
to the table's declaration here so they can be created on the tables.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">sql</span> <span class="o">+=</span> <span class="k">this</span><span class="p">.</span><span class="nx">addForeignKeys</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">);</span>
<span class="nx">sql</span> <span class="o">+=</span> <span class="k">this</span><span class="p">.</span><span class="nx">addPrimaryKeys</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">)</span> <span class="o">||</span> <span class="s1">&#39;&#39;</span><span class="p">;</span>
<span class="nx">sql</span> <span class="o">+=</span><span class="s1">&#39;)&#39;</span><span class="p">;</span>
<span class="k">return</span> <span class="nx">sql</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Get the foreign key syntax for a table creation statement.
Once we have all the foreign key commands for the table creation statement
we'll loop through each of them and add them to the create table SQL we
are building, since SQLite needs foreign keys on the tables creation.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">addForeignKeys</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">sql</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span>
<span class="kd">var</span> <span class="nx">commands</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">getCommandsByName</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">,</span> <span class="s1">&#39;foreign&#39;</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="nx">l</span> <span class="o">=</span> <span class="nx">commands</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">l</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">command</span> <span class="o">=</span> <span class="nx">commands</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span>
<span class="kd">var</span> <span class="nx">column</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">columnize</span><span class="p">(</span><span class="nx">command</span><span class="p">.</span><span class="nx">columns</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">foreignTable</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">wrapTable</span><span class="p">(</span><span class="nx">command</span><span class="p">.</span><span class="nx">foreignTable</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">foreignColumn</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">columnize</span><span class="p">([</span><span class="nx">command</span><span class="p">.</span><span class="nx">foreignColumn</span><span class="p">]);</span>
<span class="nx">sql</span> <span class="o">+=</span> <span class="s1">&#39;, foreign key(&#39;</span> <span class="o">+</span> <span class="nx">column</span> <span class="o">+</span> <span class="s1">&#39;) references &#39;</span> <span class="o">+</span> <span class="nx">foreignTable</span> <span class="o">+</span> <span class="s1">&#39;(&#39;</span> <span class="o">+</span> <span class="nx">foreignColumn</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">return</span> <span class="nx">sql</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Get the primary key syntax for a table creation statement.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">addPrimaryKeys</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">primary</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">getCommandByName</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">,</span> <span class="s1">&#39;primary&#39;</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">primary</span><span class="p">)</span> <span class="p">{</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Ensure that autoincrement columns aren't handled here, this is handled
alongside the autoincrement clause.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">primary</span><span class="p">.</span><span class="nx">columns</span> <span class="o">=</span> <span class="nx">_</span><span class="p">.</span><span class="nx">reduce</span><span class="p">(</span><span class="nx">primary</span><span class="p">.</span><span class="nx">columns</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">memo</span><span class="p">,</span> <span class="nx">column</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">column</span><span class="p">.</span><span class="nx">autoIncrement</span> <span class="o">!==</span> <span class="kc">true</span><span class="p">)</span> <span class="nx">memo</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">column</span><span class="p">);</span>
<span class="k">return</span> <span class="nx">memo</span><span class="p">;</span>
<span class="p">},</span> <span class="p">[]);</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">primary</span><span class="p">.</span><span class="nx">columns</span><span class="p">.</span><span class="nx">length</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">columns</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">columnize</span><span class="p">(</span><span class="nx">primary</span><span class="p">.</span><span class="nx">columns</span><span class="p">);</span>
<span class="k">return</span> <span class="s1">&#39;, primary key (&#39;</span> <span class="o">+</span> <span class="nx">columns</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile alter table commands for adding columns</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileAdd</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">table</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">wrapTable</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">columns</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">prefixArray</span><span class="p">(</span><span class="s1">&#39;add column&#39;</span><span class="p">,</span> <span class="k">this</span><span class="p">.</span><span class="nx">getColumns</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">));</span>
<span class="kd">var</span> <span class="nx">statements</span> <span class="o">=</span> <span class="p">[];</span>
<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="nx">l</span> <span class="o">=</span> <span class="nx">columns</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">l</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">statements</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="s1">&#39;alter table &#39;</span> <span class="o">+</span> <span class="nx">table</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="nx">columns</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span>
<span class="p">}</span>
<span class="k">return</span> <span class="nx">statements</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile a unique key command.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileUnique</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">,</span> <span class="nx">command</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">columns</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">columnize</span><span class="p">(</span><span class="nx">command</span><span class="p">.</span><span class="nx">columns</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">table</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">wrapTable</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">);</span>
<span class="k">return</span> <span class="s1">&#39;create unique index &#39;</span> <span class="o">+</span> <span class="nx">command</span><span class="p">.</span><span class="nx">index</span> <span class="o">+</span> <span class="s1">&#39; on &#39;</span> <span class="o">+</span> <span class="nx">table</span> <span class="o">+</span> <span class="s1">&#39; (&#39;</span> <span class="o">+</span> <span class="nx">columns</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile a plain index key command.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileIndex</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">,</span> <span class="nx">command</span><span class="p">)</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">columns</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">columnize</span><span class="p">(</span><span class="nx">command</span><span class="p">.</span><span class="nx">columns</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">table</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">wrapTable</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">);</span>
<span class="k">return</span> <span class="s1">&#39;create index &#39;</span> <span class="o">+</span> <span class="nx">command</span><span class="p">.</span><span class="nx">index</span> <span class="o">+</span> <span class="s1">&#39; on &#39;</span> <span class="o">+</span> <span class="nx">table</span> <span class="o">+</span> <span class="s1">&#39; (&#39;</span> <span class="o">+</span> <span class="nx">columns</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile a foreign key command.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileForeign</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Handled on table creation...</p></div></div><div class="code"><div class="wrapper"> <span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile a drop column command.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileDropColumn</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">throw</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s2">&quot;Drop column not supported for SQLite.&quot;</span><span class="p">);</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile a drop unique key command.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileDropUnique</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">,</span> <span class="nx">command</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;drop index &#39;</span> <span class="o">+</span> <span class="nx">command</span><span class="p">.</span><span class="nx">index</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile a rename table command.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileRenameTable</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">,</span> <span class="nx">command</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;alter table &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="p">.</span><span class="nx">wrapTable</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; rename to &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="p">.</span><span class="nx">wrapTable</span><span class="p">(</span><span class="nx">command</span><span class="p">.</span><span class="nx">to</span><span class="p">);</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Compile a rename column command.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">compileRenameColumn</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">,</span> <span class="nx">command</span><span class="p">)</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;__rename_column__&#39;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Create the column definition for a integer type.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">typeInteger</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;integer&#39;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Create the column definition for a float type.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">typeFloat</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;float&#39;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Create the column definition for a decimal type.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">typeDecimal</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;float&#39;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Create the column definition for a boolean type.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">typeBoolean</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;tinyint&#39;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Create the column definition for a enum type.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">typeEnum</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;varchar&#39;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Create the column definition for a date-time type.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">typeDateTime</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;datetime&#39;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Create the column definition for a timestamp type.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">typeTimestamp</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39;datetime&#39;</span><span class="p">;</span>
<span class="p">},</span></div></div></div><div class="segment"><div class="comments"><div class="wrapper"><p>Get the SQL for an auto-increment column modifier.</p></div></div><div class="code"><div class="wrapper"> <span class="nx">modifyIncrement</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">blueprint</span><span class="p">,</span> <span class="nx">column</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">column</span><span class="p">.</span><span class="nx">autoIncrement</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">column</span><span class="p">.</span><span class="nx">type</span> <span class="o">==</span> <span class="s1">&#39;integer&#39;</span> <span class="o">||</span> <span class="nx">column</span><span class="p">.</span><span class="nx">type</span> <span class="o">==</span> <span class="s1">&#39;bigInteger&#39;</span><span class="p">))</span> <span class="p">{</span>
<span class="k">return</span> <span class="s1">&#39; primary key autoincrement not null&#39;</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">},</span> <span class="nx">baseSchemaGrammar</span><span class="p">,</span> <span class="nx">grammar</span><span class="p">);</span>
<span class="p">});</span>
<span class="p">})(</span>
<span class="k">typeof</span> <span class="nx">define</span> <span class="o">===</span> <span class="s1">&#39;function&#39;</span> <span class="o">&amp;&amp;</span> <span class="nx">define</span><span class="p">.</span><span class="nx">amd</span> <span class="o">?</span> <span class="nx">define</span> <span class="o">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">factory</span><span class="p">)</span> <span class="p">{</span> <span class="nx">factory</span><span class="p">(</span><span class="nx">require</span><span class="p">,</span> <span class="nx">exports</span><span class="p">,</span> <span class="nx">module</span><span class="p">);</span> <span class="p">}</span>
<span class="p">);</span></div></div></div></div></body></html>