<!DOCTYPE html>
<html>
  <head>
  <meta charset='UTF-8'>
  <title>Yatta! API</title>
  <script src='../javascript/application.js'></script>
  <script src='../javascript/search.js'></script>
  <link rel='stylesheet' href='../stylesheets/application.css' type='text/css'>
</head>
  <body>
    <div id='base' data-path='../'></div>
<div id='header'>
  <div id='menu'>
    <a href='../extra/README.md.html' title='Yatta!'>
      Yatta!
    </a>
    &raquo;
    <a href='../alphabetical_index.html' title='Index'>
      Index
    </a>
    &raquo;
    <span class='title'>JsonType</span>
  </div>
</div>
    <div id='content'>
      <h1>
        Class:
        JsonType
      </h1>
      <table class='box'>
        <tr>
          <td>Defined in:</td>
          <td>lib&#47;Types&#47;JsonTypes.coffee</td>
        </tr>
        <tr>
          <td>Inherits:</td>
          <td>
            types.MapManager
          </td>
        </tr>
      </table>
      <h2>Overview</h2>
      <div class='docstring'>
  <p>Manages Object-like values.</p>
</div>
<div class='tags'>
</div>
      <h2>Variables Summary</h2>
      <dl class='constants'>
  <dt id='type-variable'>
    type
    =
  </dt>
  <dd>
    <pre><code class='coffeescript'>&quot;JsonType&quot;</code></pre>
    <div class='docstring'>
  <p>Identifies this class.
Use it to check whether this is a json-type or something else.</p>
  <div class='examples'>
    <h3>Examples:</h3>
    <h4>
      
    </h4>
    <pre><code class='coffeescript'>var x = yatta.val(&#39;unknown&#39;)
if (x.type === &quot;JsonType&quot;) {
  console.log JSON.stringify(x.toJson())
}</code></pre>
  </div>
</div>
<div class='tags'>
</div>
  </dd>
  <dt id='mutable_default-variable'>
    mutable_default
    =
  </dt>
  <dd>
    <pre><code class='coffeescript'>true</code></pre>
    <div class='docstring'>
  <p>Whether the default is &#39;mutable&#39; (true) or &#39;immutable&#39; (false)</p>
</div>
<div class='tags'>
</div>
  </dd>
</dl>
      <h2>Instance Method Summary</h2>
      <ul class='summary'>
  <li>
    <span class='signature'>
      <a href='#applyDelete-dynamic'>
        #
(void)
<b>applyDelete</b><span>()</span>
      </a>
    </span>
    <span class='desc'>
    </span>
  </li>
  <li>
    <span class='signature'>
      <a href='#cleanup-dynamic'>
        #
(void)
<b>cleanup</b><span>()</span>
      </a>
    </span>
    <span class='desc'>
    </span>
  </li>
  <li>
    <span class='signature'>
      <a href='#toJson-dynamic'>
        #
(Json)
<b>toJson</b><span>()</span>
      </a>
    </span>
    <span class='desc'>
      Transform this to a Json and loose all the sharing-abilities (the new object will be a deep clone)! 
    </span>
  </li>
  <li>
    <span class='signature'>
      <a href='#setReplaceManager-dynamic'>
        #
(void)
<b>setReplaceManager</b><span>(replace_manager)</span>
      </a>
    </span>
    <span class='desc'>
      Sets the parent of this JsonType object. 
    </span>
  </li>
  <li>
    <span class='signature'>
      <a href='#getParent-dynamic'>
        #
(JsonType)
<b>getParent</b><span>()</span>
      </a>
    </span>
    <span class='desc'>
      Get the parent of this JsonType. 
    </span>
  </li>
  <li>
    <span class='signature'>
      <a href='#setMutableDefault-dynamic'>
        #
(void)
<b>setMutableDefault</b><span>(mutable)</span>
      </a>
    </span>
    <span class='desc'>
      Set if the default is &#39;mutable&#39; or &#39;immutable&#39; 
    </span>
  </li>
  <li>
    <span class='signature'>
      <a href='#val-dynamic'>
        ~
(Json)
<b>val</b><span>()</span>
      </a>
    </span>
    <span class='desc'>
    </span>
  </li>
  <li>
    <span class='signature'>
      <a href='#_encode-dynamic'>
        #
(void)
<b>_encode</b><span>()</span>
      </a>
    </span>
    <span class='note private title'>Private</span>
    <span class='desc'>
    </span>
  </li>
</ul>
      <h2>Constructor Details</h2>
      <div class='methods'>
  <div class='method_details'>
    <p class='signature' id='constructor-dynamic'>
      #
(void)
<b>constructor</b><span>(uid, initial_value, mutable)</span>
      <br>
    </p>
    <div class='tags'>
  <h3>Parameters:</h3>
  <ul class='param'>
    <li>
      <span class='name'>uid</span>
      <span class='type'>
        (
          <tt>Object</tt>
        )
      </span>
      &mdash;
      <span class='desc'>A unique identifier. If uid is undefined, a new uid will be created. </span>
    </li>
    <li>
      <span class='name'>initial_value</span>
      <span class='type'>
        (
          <tt>Object</tt>
        )
      </span>
      &mdash;
      <span class='desc'>Create this operation with an initial value. </span>
    </li>
    <li>
      <span class='name'>Whether</span>
      <span class='type'>
        (
          <tt>String|Boolean</tt>
        )
      </span>
      &mdash;
      <span class='desc'>the initial_value should be created as mutable. (Optional - see setMutableDefault) </span>
    </li>
  </ul>
</div>
  </div>
</div>
      <h2>Instance Method Details</h2>
      <div class='methods'>
  <div class='method_details'>
    <p class='signature' id='applyDelete-dynamic'>
      #
(void)
<b>applyDelete</b><span>()</span>
      <br>
    </p>
    
  </div>
  <div class='method_details'>
    <p class='signature' id='cleanup-dynamic'>
      #
(void)
<b>cleanup</b><span>()</span>
      <br>
    </p>
    
  </div>
  <div class='method_details'>
    <p class='signature' id='toJson-dynamic'>
      #
(Json)
<b>toJson</b><span>()</span>
      <br>
    </p>
    <div class='docstring'>
  <p>Transform this to a Json and loose all the sharing-abilities (the new object will be a deep clone)!</p>
</div>
<div class='tags'>
  <h3>Returns:</h3>
  <ul class='return'>
    <li>
      <span class='type'></span>
      <tt>Json</tt>
    </li>
  </ul>
</div>
  </div>
  <div class='method_details'>
    <p class='signature' id='setReplaceManager-dynamic'>
      #
(void)
<b>setReplaceManager</b><span>(replace_manager)</span>
      <br>
    </p>
    <div class='docstring'>
  <p>Sets the parent of this JsonType object.</p>
</div>
<div class='tags'>
  <h3>See also:</h3>
  <ul class='see'>
    <li>
      <a href='WordType.setReplaceManager'>WordType.setReplaceManager</a>
    </li>
  </ul>
</div>
  </div>
  <div class='method_details'>
    <p class='signature' id='getParent-dynamic'>
      #
(JsonType)
<b>getParent</b><span>()</span>
      <br>
    </p>
    <div class='docstring'>
  <p>Get the parent of this JsonType.</p>
</div>
<div class='tags'>
  <h3>Returns:</h3>
  <ul class='return'>
    <li>
      <span class='type'></span>
      <tt><a href='../class/JsonType.html'>JsonType</a></tt>
    </li>
  </ul>
</div>
  </div>
  <div class='method_details'>
    <p class='signature' id='setMutableDefault-dynamic'>
      #
(void)
<b>setMutableDefault</b><span>(mutable)</span>
      <br>
    </p>
    <div class='docstring'>
  <p>Set if the default is &#39;mutable&#39; or &#39;immutable&#39;</p>
</div>
<div class='tags'>
  <h3>Parameters:</h3>
  <ul class='param'>
    <li>
      <span class='name'>mutable</span>
      <span class='type'>
        (
          <tt>String|Boolean</tt>
        )
      </span>
      &mdash;
      <span class='desc'>Set either &#39;mutable&#39; / true or &#39;immutable&#39; / false </span>
    </li>
  </ul>
</div>
  </div>
  <div class='method_details'>
    <p class='signature' id='val-dynamic'>
      ~
(Json)
<b>val</b><span>()</span>
      <br>
      ~
(JsonType|WordType|String|Object)
<b>val</b><span>(name)</span>
      <br>
      ~
(JsonType)
<b>val</b><span>(name, content)</span>
      <br>
    </p>
    <div class='tags'>
  <div class='overloads'>
    <h3>Overloads:</h3>
    <div class='overload'>
      <p class='signature'>
        ~
(Json)
<b>val</b><span>()</span>
      </p>
      <div class='docstring'>
  <p>Get this as a Json object.</p>
</div>
<div class='tags'>
  <h3>Returns:</h3>
  <ul class='return'>
    <li>
      <span class='type'></span>
      <tt>Json</tt>
    </li>
  </ul>
</div>
    </div>
    <div class='overload'>
      <p class='signature'>
        ~
(JsonType|WordType|String|Object)
<b>val</b><span>(name)</span>
      </p>
      <div class='docstring'>
  <p>Get value of a property.</p>
</div>
<div class='tags'>
  <h3>Parameters:</h3>
  <ul class='param'>
    <li>
      <span class='name'>name</span>
      <span class='type'>
        (
          <tt>String</tt>
        )
      </span>
      &mdash;
      <span class='desc'>Name of the object property. </span>
    </li>
  </ul>
  <h3>Returns:</h3>
  <ul class='return'>
    <li>
      <span class='type'></span>
      (
        <tt>JsonType|WordType|String|Object</tt>
      )
      &mdash;
      <span class='desc'>Depending on the value of the property. If mutable it will return a Operation-type object, if immutable it will return String/Object. </span>
    </li>
  </ul>
</div>
    </div>
    <div class='overload'>
      <p class='signature'>
        ~
(JsonType)
<b>val</b><span>(name, content)</span>
      </p>
      <div class='docstring'>
  <p>Set a new property.</p>
</div>
<div class='tags'>
  <h3>Parameters:</h3>
  <ul class='param'>
    <li>
      <span class='name'>name</span>
      <span class='type'>
        (
          <tt>String</tt>
        )
      </span>
      &mdash;
      <span class='desc'>Name of the object property. </span>
    </li>
    <li>
      <span class='name'>content</span>
      <span class='type'>
        (
          <tt>Object|String</tt>
        )
      </span>
      &mdash;
      <span class='desc'>Content of the object property. </span>
    </li>
  </ul>
  <h3>Returns:</h3>
  <ul class='return'>
    <li>
      <span class='type'></span>
      (
        <tt><a href='../class/JsonType.html'>JsonType</a></tt>
      )
      &mdash;
      <span class='desc'>This object. (supports chaining) </span>
    </li>
  </ul>
</div>
    </div>
  </div>
</div>
  </div>
  <div class='method_details'>
    <p class='signature' id='_encode-dynamic'>
      #
(void)
<b>_encode</b><span>()</span>
      <span class='note private'>Private</span>
      <br>
    </p>
    <div class='tags'>
</div>
  </div>
</div>
    </div>
    <div id='footer'>
  September 26, 14 11:52:44 by
  <a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
    Codo
  </a>
  2.0.9
  &#10034;
  Press H to see the keyboard shortcuts
  &#10034;
  <a href='http://twitter.com/netzpirat' target='_parent'>@netzpirat</a>
  &#10034;
  <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>