takorogo
Version:
Takorogo to JSON parser for Node.js
1,435 lines (1,432 loc) • 31.5 kB
HTML
<html>
<head>
<meta charset='UTF-8'>
<title>Node.js parser from Takorogo to JSON Schema</title>
<script src='../javascript/application.js'></script>
<script src='../javascript/search.js'></script>
<link rel='stylesheet' href='../stylesheets/application.css' type='text/css'>
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'undefined']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div id='base' data-path='../'></div>
<div id='header'>
<div id='menu'>
<a href='../extra/README.md.html' title='Node Takorogo'>
Node Takorogo
</a>
»
<a href='../alphabetical_index.html' title='Index'>
Index
</a>
»
<span class='title'>Postprocessor</span>
</div>
</div>
<div id='content'>
<h1>
Class:
Postprocessor
</h1>
<table class='box'>
<tr>
<td>Defined in:</td>
<td>src/postprocessor.coffee</td>
</tr>
</table>
<h2>Overview</h2>
<div class='docstring'>
<div class='note todo'>
<strong>TODO:</strong>
Put references into manipulated object
</div>
<p>@class Postprocessor</p>
</div>
<div class='tags'>
</div>
<h2>Variables Summary</h2>
<dl class='constants'>
<dt id='supportedRules-variable'>
supportedRules
=
</dt>
<dd>
<pre><code class='coffeescript'>['definition', 'enumeration', 'index', 'attribute', 'relation', 'resolvedRelation', 'link', 'meta']</code></pre>
</dd>
<dt id='directMetadata-variable'>
directMetadata
=
</dt>
<dd>
<pre><code class='coffeescript'>['title', 'description']</code></pre>
</dd>
</dl>
<h2>Class Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#absoluteReferencePathForClass-static'>
.
(String)
<b>absoluteReferencePathForClass</b><span>(className, ctx)</span>
</a>
</span>
<span class='desc'>
Returns absolute reference path for class
</span>
</li>
</ul>
<h2>Instance Method Summary</h2>
<ul class='summary'>
<li>
<span class='signature'>
<a href='#cleanRefs-dynamic'>
#
(void)
<b>cleanRefs</b><span>()</span>
</a>
</span>
<span class='desc'>
Cleans up references
</span>
</li>
<li>
<span class='signature'>
<a href='#postprocess-dynamic'>
#
(Object)
<b>postprocess</b><span>(data)</span>
</a>
</span>
<span class='desc'>
Processes whole raw output from jison parser to JSON Schema
</span>
</li>
<li>
<span class='signature'>
<a href='#cleanUpSchema-dynamic'>
#
(Object)
<b>cleanUpSchema</b><span>(schema)</span>
</a>
</span>
<span class='desc'>
Removes technical information from schema
</span>
</li>
<li>
<span class='signature'>
<a href='#processMeta-dynamic'>
#
(Object)
<b>processMeta</b><span>(meta, ctx = {})</span>
</a>
</span>
<span class='desc'>
Converts meta statement into JSON Schema object definition.
</span>
</li>
<li>
<span class='signature'>
<a href='#processEnumeration-dynamic'>
#
(Object)
<b>processEnumeration</b><span>(enumeration, ctx = {})</span>
</a>
</span>
<span class='bound note title'>Bound</span>
<span class='desc'>
Converts enumeration into JSON Schema object definition.
</span>
</li>
<li>
<span class='signature'>
<a href='#processDefinition-dynamic'>
#
(Object)
<b>processDefinition</b><span>(klass, ctx = {})</span>
</a>
</span>
<span class='bound note title'>Bound</span>
<span class='desc'>
Converts class rule into JSON Schema object definition.
</span>
</li>
<li>
<span class='signature'>
<a href='#processRule-dynamic'>
#
(Object)
<b>processRule</b><span>(rule, ctx)</span>
</a>
</span>
<span class='desc'>
Processes passed rule with related method
</span>
</li>
<li>
<span class='signature'>
<a href='#processRules-dynamic'>
#
(Object)
<b>processRules</b><span>(rules, ctx = {})</span>
</a>
</span>
<span class='bound note title'>Bound</span>
<span class='desc'>
Converts rules for context into JSON Schema object definition.
</span>
</li>
<li>
<span class='signature'>
<a href='#processIndex-dynamic'>
#
(Object)
<b>processIndex</b><span>(index, ctx = {})</span>
</a>
</span>
<span class='desc'>
Converts index definition to JSON Schema entry.
</span>
</li>
<li>
<span class='signature'>
<a href='#processAttribute-dynamic'>
#
(Object)
<b>processAttribute</b><span>(property, ctx = {})</span>
</a>
</span>
<span class='desc'>
Converts property definition to JSON Schema entry.
</span>
</li>
<li>
<span class='signature'>
<a href='#addPropertyToContext-dynamic'>
#
(Object)
<b>addPropertyToContext</b><span>(name, property, ctx)</span>
</a>
</span>
<span class='desc'>
Adds property to specified context
</span>
</li>
<li>
<span class='signature'>
<a href='#expandPropertyPath-dynamic'>
#
(Object)
<b>expandPropertyPath</b><span>(name, property)</span>
</a>
</span>
<span class='desc'>
Expands properties specified with paths to JSON Schema embedded objects
</span>
</li>
<li>
<span class='signature'>
<a href='#registerTypeReference-dynamic'>
#
(void)
<b>registerTypeReference</b><span>(property, ctx)</span>
</a>
</span>
<span class='desc'>
Registers type reference
</span>
</li>
<li>
<span class='signature'>
<a href='#registerDefinition-dynamic'>
#
(void)
<b>registerDefinition</b><span>(definition)</span>
</a>
</span>
<span class='desc'>
Registers definition reference
</span>
</li>
<li>
<span class='signature'>
<a href='#findTypeReference-dynamic'>
#
(String|Boolean)
<b>findTypeReference</b><span>(name, ctx)</span>
</a>
</span>
<span class='desc'>
Finds JSON schema reference to specified type in the context
</span>
</li>
<li>
<span class='signature'>
<a href='#resolveTypeReference-dynamic'>
#
(void)
<b>resolveTypeReference</b><span>(property, unresolved)</span>
</a>
</span>
<span class='desc'>
Resolves type reference
</span>
</li>
<li>
<span class='signature'>
<a href='#resolveTypeReferences-dynamic'>
#
(Object)
<b>resolveTypeReferences</b><span>(schema)</span>
</a>
</span>
<span class='desc'>
Processes type references for schema
</span>
</li>
<li>
<span class='signature'>
<a href='#processPropertyType-dynamic'>
#
(Object)
<b>processPropertyType</b><span>(property, ctx = {})</span>
</a>
</span>
<span class='desc'>
Processes property type.
</span>
</li>
<li>
<span class='signature'>
<a href='#processArrayType-dynamic'>
#
(Object)
<b>processArrayType</b><span>(property, ctx)</span>
</a>
</span>
<span class='desc'>
Converts array types to proper JSON schema.
</span>
</li>
<li>
<span class='signature'>
<a href='#processRelation-dynamic'>
#
(Object)
<b>processRelation</b><span>(relation, ctx = {}, addAttribute = true)</span>
</a>
</span>
<span class='desc'>
Converts relation definition to JSON Schema entry.
</span>
</li>
<li>
<span class='signature'>
<a href='#processResolvedRelation-dynamic'>
#
(Object)
<b>processResolvedRelation</b><span>(relation, ctx = {})</span>
</a>
</span>
<span class='desc'>
Converts resolved relation definition to JSON Schema entry.
</span>
</li>
<li>
<span class='signature'>
<a href='#processLink-dynamic'>
#
(Object)
<b>processLink</b><span>(link, ctx = {})</span>
</a>
</span>
<span class='desc'>
Converts link definition to JSON Schema entry.
</span>
</li>
</ul>
<h2>Class Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='absoluteReferencePathForClass-static'>
.
(String)
<b>absoluteReferencePathForClass</b><span>(className, ctx)</span>
<br>
</p>
<div class='docstring'>
<p>Returns absolute reference path for class</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>className</span>
<span class='type'>
(
<tt>String</tt>
)
</span>
—
<span class='desc'>name of the class </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for class </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>String</tt>
)
—
<span class='desc'>context path for class </span>
</li>
</ul>
</div>
</div>
</div>
<h2>Instance Method Details</h2>
<div class='methods'>
<div class='method_details'>
<p class='signature' id='cleanRefs-dynamic'>
#
(void)
<b>cleanRefs</b><span>()</span>
<br>
</p>
<div class='docstring'>
<p>Cleans up references</p>
</div>
<div class='tags'>
</div>
</div>
<div class='method_details'>
<p class='signature' id='postprocess-dynamic'>
#
(Object)
<b>postprocess</b><span>(data)</span>
<br>
</p>
<div class='docstring'>
<p>Processes whole raw output from jison parser to JSON Schema</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>data</span>
<span class='type'>
(
<tt>*</tt>
)
</span>
—
<span class='desc'>raw output from jison parser </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>JSON Schema </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='cleanUpSchema-dynamic'>
#
(Object)
<b>cleanUpSchema</b><span>(schema)</span>
<br>
</p>
<div class='docstring'>
<p>Removes technical information from schema</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>schema</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>schema </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processMeta-dynamic'>
#
(Object)
<b>processMeta</b><span>(meta, ctx = {})</span>
<br>
</p>
<div class='docstring'>
<p>Converts meta statement into JSON Schema object definition.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>meta</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>raw definition of enumeration </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for meta </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processEnumeration-dynamic'>
#
(Object)
<b>processEnumeration</b><span>(enumeration, ctx = {})</span>
<span class='bound note'>Bound</span>
<br>
</p>
<div class='docstring'>
<p>Converts enumeration into JSON Schema object definition.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>enumeration</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>raw definition of enumeration </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for enumeration </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processDefinition-dynamic'>
#
(Object)
<b>processDefinition</b><span>(klass, ctx = {})</span>
<span class='bound note'>Bound</span>
<br>
</p>
<div class='docstring'>
<p>Converts class rule into JSON Schema object definition.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>klass</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>raw definition of class </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for class </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>context with class JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processRule-dynamic'>
#
(Object)
<b>processRule</b><span>(rule, ctx)</span>
<br>
</p>
<div class='docstring'>
<p>Processes passed rule with related method</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>rule</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>raw definition of rule </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for rule </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>JSON Schema definition of rule </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processRules-dynamic'>
#
(Object)
<b>processRules</b><span>(rules, ctx = {})</span>
<span class='bound note'>Bound</span>
<br>
</p>
<div class='docstring'>
<p>Converts rules for context into JSON Schema object definition.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>rules</span>
<span class='type'>
(
<tt>Array<Object></tt>
)
</span>
—
<span class='desc'>raw definition of rules owner </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for rules </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processIndex-dynamic'>
#
(Object)
<b>processIndex</b><span>(index, ctx = {})</span>
<br>
</p>
<div class='docstring'>
<p>Converts index definition to JSON Schema entry.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>index</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>raw definition of index </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for index </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>context with index JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processAttribute-dynamic'>
#
(Object)
<b>processAttribute</b><span>(property, ctx = {})</span>
<br>
</p>
<div class='docstring'>
<p>Converts property definition to JSON Schema entry.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>property</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>raw definition of property </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for property </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>property context JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='addPropertyToContext-dynamic'>
#
(Object)
<b>addPropertyToContext</b><span>(name, property, ctx)</span>
<br>
</p>
<div class='docstring'>
<p>Adds property to specified context</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>name</span>
<span class='type'>
(
<tt>String</tt>
)
</span>
—
<span class='desc'>property name </span>
</li>
<li>
<span class='name'>property</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>definition of property </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for property </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>property context JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='expandPropertyPath-dynamic'>
#
(Object)
<b>expandPropertyPath</b><span>(name, property)</span>
<br>
</p>
<div class='docstring'>
<p>Expands properties specified with paths to JSON Schema embedded objects</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>name</span>
<span class='type'>
(
<tt>String</tt>
)
</span>
—
<span class='desc'>property name </span>
</li>
<li>
<span class='name'>property</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>definition of property </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>property context JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='registerTypeReference-dynamic'>
#
(void)
<b>registerTypeReference</b><span>(property, ctx)</span>
<br>
</p>
<div class='docstring'>
<p>Registers type reference</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>property</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>property that has a reference of type </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>referencing context </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='registerDefinition-dynamic'>
#
(void)
<b>registerDefinition</b><span>(definition)</span>
<br>
</p>
<div class='docstring'>
<p>Registers definition reference</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>definition</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>type definition schema </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='findTypeReference-dynamic'>
#
(String|Boolean)
<b>findTypeReference</b><span>(name, ctx)</span>
<br>
</p>
<div class='docstring'>
<p>Finds JSON schema reference to specified type in the context</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>name</span>
<span class='type'>
(
<tt>String</tt>
)
</span>
—
<span class='desc'>type name </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>type context </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>String|Boolean</tt>
)
—
<span class='desc'>JSON Schema reference or false </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='resolveTypeReference-dynamic'>
#
(void)
<b>resolveTypeReference</b><span>(property, unresolved)</span>
<br>
</p>
<div class='docstring'>
<p>Resolves type reference</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>property</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>property that has a type reference </span>
</li>
<li>
<span class='name'>unresolved</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>container for unresolved types </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='resolveTypeReferences-dynamic'>
#
(Object)
<b>resolveTypeReferences</b><span>(schema)</span>
<br>
</p>
<div class='docstring'>
<p>Processes type references for schema</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>schema</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>JSON schema </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>JSON schema </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processPropertyType-dynamic'>
#
(Object)
<b>processPropertyType</b><span>(property, ctx = {})</span>
<br>
</p>
<div class='docstring'>
<p>Processes property type.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>property</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>definition </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for property </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>property context JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processArrayType-dynamic'>
#
(Object)
<b>processArrayType</b><span>(property, ctx)</span>
<br>
</p>
<div class='docstring'>
<p>Converts array types to proper JSON schema.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>property</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>type definition </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for property </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>property context JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processRelation-dynamic'>
#
(Object)
<b>processRelation</b><span>(relation, ctx = {}, addAttribute = true)</span>
<br>
</p>
<div class='docstring'>
<p>Converts relation definition to JSON Schema entry.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>relation</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>raw definition of relation </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for relation </span>
</li>
<li>
<span class='name'>addAttribute</span>
<span class='type'>
(
<tt>Boolean</tt>
)
</span>
—
<span class='desc'>whether corresponding attribute should be added </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>relation context JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processResolvedRelation-dynamic'>
#
(Object)
<b>processResolvedRelation</b><span>(relation, ctx = {})</span>
<br>
</p>
<div class='docstring'>
<p>Converts resolved relation definition to JSON Schema entry.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>relation</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>raw definition of resolved relation </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for relation </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>relation context JSON Schema definition </span>
</li>
</ul>
</div>
</div>
<div class='method_details'>
<p class='signature' id='processLink-dynamic'>
#
(Object)
<b>processLink</b><span>(link, ctx = {})</span>
<br>
</p>
<div class='docstring'>
<p>Converts link definition to JSON Schema entry.</p>
</div>
<div class='tags'>
<h3>Parameters:</h3>
<ul class='param'>
<li>
<span class='name'>link</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>raw definition of link </span>
</li>
<li>
<span class='name'>ctx</span>
<span class='type'>
(
<tt>Object</tt>
)
</span>
—
<span class='desc'>context for link </span>
</li>
</ul>
<h3>Returns:</h3>
<ul class='return'>
<li>
<span class='type'></span>
(
<tt>Object</tt>
)
—
<span class='desc'>link context JSON Schema definition </span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id='footer'>
October 13, 14 21:09:47 by
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>
2.0.9
✲
Press H to see the keyboard shortcuts
✲
<a href='http://twitter.com/netzpirat' target='_parent'>@netzpirat</a>
✲
<a href='http://twitter.com/_inossidabile' target='_parent'>@_inossidabile</a>
</div>
<iframe id='search_frame'></iframe>
<div id='fuzzySearch'>
<input type='text'>
<ol></ol>
</div>
<div id='help'>
<p>
Quickly fuzzy find classes, mixins, methods, file:
</p>
<ul>
<li>
<span>T</span>
Open fuzzy finder dialog
</li>
</ul>
<p>
Control the navigation frame:
</p>
<ul>
<li>
<span>L</span>
Toggle list view
</li>
<li>
<span>C</span>
Show class list
</li>
<li>
<span>I</span>
Show mixin list
</li>
<li>
<span>F</span>
Show file list
</li>
<li>
<span>M</span>
Show method list
</li>
<li>
<span>E</span>
Show extras list
</li>
</ul>
<p>
You can focus and blur the search input:
</p>
<ul>
<li>
<span>S</span>
Focus search input
</li>
<li>
<span>Esc</span>
Blur search input
</li>
</ul>
</div>
</body>
</html>