<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Module: odata/utils</title>
    
    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">
    
    <h1 class="page-title">Module: odata/utils</h1>
    
    



<section>
    
<header>
    <h2>
    odata/utils
    </h2>
    
</header>  

<article>
    <div class="container-overview">
    
    
    
        
        
        
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line20">line 20</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

        
        
    
    </div>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        <h3 class="subsection-title">Methods</h3>
        
        <dl>
            
<dt>
    <h4 class="name" id="dataItemTypeName"><span class="type-signature">&lt;inner> </span>dataItemTypeName<span class="signature">(value, <span class="optional">metadata</span>)</span><span class="type-signature"> &rarr; {string}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Gets the type name of a data item value that belongs to a feed, an entry, a complex type property, or a collection property
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		<th>Argument</th>
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>
            
            
                <td class="attributes">
                
                    
                
                    
                
                </td>
            
            
            
            
            <td class="description last">Value of the data item from which the type name is going to be retrieved.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>metadata</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>
            
            
                <td class="attributes">
                
                    &lt;optional><br>
                
                    
                
                    
                
                </td>
            
            
            
            
            <td class="description last">Object containing metadata about the data tiem.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line41">line 41</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    Data item type name; null if the type name cannot be found within the value or the metadataThis function will first try to get the type name from the data item's value itself if it is an object with a __metadata property; otherwiseit will try to recover it from the metadata.  If both attempts fail, it will return null.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">string</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="forEachSchema"><span class="type-signature">&lt;inner> </span>forEachSchema<span class="signature">(metadata, callback)</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Invokes a function once per schema in metadata.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>metadata</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Metadata store; one of edmx, schema, or an array of any of them.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">function</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Callback function to invoke once per schema.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line177">line 177</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The first truthy value to be returned from the callback; null or the last falsy value otherwise.
</div>



        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="formatDateTimeOffset"><span class="type-signature">&lt;inner> </span>formatDateTimeOffset<span class="signature">(value)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Formats a DateTime or DateTimeOffset value a string.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Date</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Value to format</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line235">line 235</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    Formatted text.If the value is already as string it's returned as-is
´
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="formatDuration"><span class="type-signature">&lt;inner> </span>formatDuration<span class="signature">(value)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Converts a duration to a string in xsd:duration format.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Object with ms and __edmType properties.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line281">line 281</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    String representation of the time object in xsd:duration format.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="formatMilliseconds"><span class="type-signature">&lt;inner> </span>formatMilliseconds<span class="signature">(ms, ns)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Formats a millisecond and a nanosecond value into a single string.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>ms</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Number</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Number of milliseconds to format.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>ns</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Number</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Number of nanoseconds to format.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line209">line 209</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    Formatted text.If the value is already as string it's returned as-is.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="formatNumberWidth"><span class="type-signature">&lt;inner> </span>formatNumberWidth<span class="signature">(value, width, append)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Formats the specified value to the given width.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Number</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Number to format (non-negative).</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>width</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Number</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Minimum width for number.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>append</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Flag indicating if the value is padded at the beginning (false) or at the end (true).</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line314">line 314</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    Text representation.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="getCanonicalTimezone"><span class="type-signature">&lt;inner> </span>getCanonicalTimezone<span class="signature">(timezone)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Gets the canonical timezone representation.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>timezone</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Timezone representation.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line331">line 331</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    An 'Z' string if the timezone is absent or 0; the timezone otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="getCollectionType"><span class="type-signature">&lt;inner> </span>getCollectionType<span class="signature">(typeName)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Gets the type of a collection type name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>typeName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Type name of the collection.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line340">line 340</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    Type of the collection; null if the type name is not a collection type.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="getEntitySetInfo"><span class="type-signature">&lt;inner> </span>getEntitySetInfo<span class="signature">(entitySetName, metadata)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Gets the entitySet info, container name and functionImports for an entitySet
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>entitySetName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">-</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>metadata</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">-</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line741">line 741</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The info about the entitySet.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Object</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="invokeRequest"><span class="type-signature">&lt;inner> </span>invokeRequest<span class="signature">(request, success, error, handler, httpClient, context)</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Sends a request containing OData payload to a server.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>request</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Object that represents the request to be sent..</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>success</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Callback for a successful read operation.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>error</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Callback for handling errors.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>handler</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Handler for data serialization.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>httpClient</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">HTTP client layer.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>context</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Context used for processing the request</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line359">line 359</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isBatch"><span class="type-signature">&lt;inner> </span>isBatch<span class="signature">(value)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Tests whether a value is a batch object in the library's internal representation.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Value to test.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line394">line 394</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True is the value is a batch object; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isCollection"><span class="type-signature">&lt;inner> </span>isCollection<span class="signature">(value, typeName)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Tests whether a value is a collection value in the library's internal representation.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Value to test.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>typeName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Type name of the value. This is used to disambiguate from a collection property value.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line407">line 407</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True is the value is a feed value; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isCollectionType"><span class="type-signature">&lt;inner> </span>isCollectionType<span class="signature">(typeName)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Checks whether the specified type name is a collection type.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>typeName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name of type to check.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line419">line 419</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True if the type is the name of a collection type; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isComplex"><span class="type-signature">&lt;inner> </span>isComplex<span class="signature">(value)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Tests whether a value is a complex type value in the library's internal representation.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Value to test.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line427">line 427</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True is the value is a complex type value; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isDateTimeOffset"><span class="type-signature">&lt;inner> </span>isDateTimeOffset<span class="signature">(value)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Checks whether a Date object is DateTimeOffset value
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Date</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Value to check</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line439">line 439</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    true if the value is a DateTimeOffset, false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isDeferred"><span class="type-signature">&lt;inner> </span>isDeferred<span class="signature">(value)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Tests whether a value is a deferred navigation property in the library's internal representation.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Value to test.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line447">line 447</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True is the value is a deferred navigation property; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isEntry"><span class="type-signature">&lt;inner> </span>isEntry<span class="signature">(value)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Tests whether a value is an entry object in the library's internal representation.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Value to test.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line461">line 461</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True is the value is an entry object; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isFeed"><span class="type-signature">&lt;inner> </span>isFeed<span class="signature">(value, typeName)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Tests whether a value is a feed value in the library's internal representation.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Value to test.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>typeName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Type name of the value. This is used to disambiguate from a collection property value.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line471">line 471</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True is the value is a feed value; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isGeographyEdmType"><span class="type-signature">&lt;inner> </span>isGeographyEdmType<span class="signature">(typeName)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Checks whether the specified type name is a geography EDM type.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>typeName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name of type to check.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line484">line 484</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True if the type is a geography EDM type; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isGeometryEdmType"><span class="type-signature">&lt;inner> </span>isGeometryEdmType<span class="signature">(typeName)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Checks whether the specified type name is a geometry EDM type.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>typeName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name of type to check.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line495">line 495</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True if the type is a geometry EDM type; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isNamedStream"><span class="type-signature">&lt;inner> </span>isNamedStream<span class="signature">(value)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Tests whether a value is a named stream value in the library's internal representation.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Value to test.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line506">line 506</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True is the value is a named stream; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isPrimitive"><span class="type-signature">&lt;inner> </span>isPrimitive<span class="signature">(value)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Tests whether a value is a primitive type value in the library's internal representation.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Value to test.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line521">line 521</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True is the value is a primitive type value.Date objects are considered primitive types by the library.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="isPrimitiveEdmType"><span class="type-signature">&lt;inner> </span>isPrimitiveEdmType<span class="signature">(typeName)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Checks whether the specified type name is a primitive EDM type.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>typeName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name of type to check.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line533">line 533</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    True if the type is a primitive EDM type; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupComplexType"><span class="type-signature">&lt;inner> </span>lookupComplexType<span class="signature">(name, metadata)</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up a complex type object by name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>name</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name, possibly null or empty.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>metadata</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Metadata store; one of edmx, schema, or an array of any of them.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line617">line 617</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    A complex type description if the name is found; null otherwise.
</div>



        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupDefaultEntityContainer"><span class="type-signature">&lt;inner> </span>lookupDefaultEntityContainer<span class="signature">(metadata)</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up an
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>metadata</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Metadata store; one of edmx, schema, or an array of any of them.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line637">line 637</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    An entity container description if the name is found; null otherwise.
</div>



        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupEntityContainer"><span class="type-signature">&lt;inner> </span>lookupEntityContainer<span class="signature">(name, metadata)</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up an entity container object by name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>name</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name, possibly null or empty.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>metadata</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Metadata store; one of edmx, schema, or an array of any of them.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line651">line 651</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    An entity container description if the name is found; null otherwise.
</div>



        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupEntitySet"><span class="type-signature">&lt;inner> </span>lookupEntitySet<span class="signature">(entitySets, name)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up a entity set by name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>entitySets</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Array</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Array of entity set objects as per EDM metadata( may be null)</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>name</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name to look for.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line593">line 593</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The entity set object; null if not found.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Object</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupEntityType"><span class="type-signature">&lt;inner> </span>lookupEntityType<span class="signature">(name, metadata)</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up an entity type object by name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>name</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name, possibly null or empty.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>metadata</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Metadata store; one of edmx, schema, or an array of any of them.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line627">line 627</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    An entity type description if the name is found; null otherwise.
</div>



        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupFunctionImport"><span class="type-signature">&lt;inner> </span>lookupFunctionImport<span class="signature">(functionImports, name)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up a function import by name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>functionImports</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Array</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Array of function import objects as per EDM metadata (May be null)</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>name</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name to look for.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line661">line 661</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The entity set object; null if not found.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Object</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupInMetadata"><span class="type-signature">&lt;inner> </span>lookupInMetadata<span class="signature">(name, metadata, kind)</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up a type object by name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>name</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name, possibly null or empty.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>metadata</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Metadata store; one of edmx, schema, or an array of any of them.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>kind</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Kind of object to look for as per EDM metadata.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line581">line 581</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    An type description if the name is found; null otherwise
</div>



        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupInSchema"><span class="type-signature">&lt;inner> </span>lookupInSchema<span class="signature">(name, schema, kind)</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up a schema object by name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>name</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name (assigned).</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>schema</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Schema object as per EDM metadata.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>kind</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Kind of object to look for as per EDM metadata.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line779">line 779</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    An entity type description if the name is found; null otherwise.
</div>



        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupNavigationPropertyEntitySet"><span class="type-signature">&lt;inner> </span>lookupNavigationPropertyEntitySet<span class="signature">(navigationProperty, sourceEntitySetName, metadata)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up the target entityset name for a navigation property.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>navigationProperty</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">-</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>sourceEntitySetName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">-</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>metadata</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">metadata</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line711">line 711</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The entityset name for the specified property, null if not found.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupNavigationPropertyType"><span class="type-signature">&lt;inner> </span>lookupNavigationPropertyType<span class="signature">(navigationProperty, metadata)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up the target entity type for a navigation property.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>navigationProperty</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">-</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>metadata</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">-</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line672">line 672</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The entity type name for the specified property, null if not found.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupProperty"><span class="type-signature">&lt;inner> </span>lookupProperty<span class="signature">(properties, name)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up a property by name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>properties</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Array</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Array of property objects as per EDM metadata (may be null)</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>name</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name to look for.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line568">line 568</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The property object; null if not found.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Object</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="lookupSingleton"><span class="type-signature">&lt;inner> </span>lookupSingleton<span class="signature">(singletons, name)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Looks up a entity set by name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>singletons</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Array</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Array of entity set objects as per EDM metadata (may be null)</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>name</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Name to look for.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line605">line 605</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The entity set object; null if not found.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Object</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="maxVersion"><span class="type-signature">&lt;inner> </span>maxVersion<span class="signature">(left, right)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Compares to version strings and returns the higher one.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>left</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Version string in the form "major.minor.rev"</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>right</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Version string in the form "major.minor.rev"</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line798">line 798</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The higher version string.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="navigationPropertyKind"><span class="type-signature">&lt;inner> </span>navigationPropertyKind<span class="signature">(value, <span class="optional">propertyModel</span>)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Gets the kind of a navigation property value.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		<th>Argument</th>
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
            </td>
            
            
                <td class="attributes">
                
                    
                
                    
                
                </td>
            
            
            
            
            <td class="description last">Value of the navigation property.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>propertyModel</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
                <td class="attributes">
                
                    &lt;optional><br>
                
                    
                
                    
                
                </td>
            
            
            
            
            <td class="description last">Object that describes the navigation property in an OData conceptual schema.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line543">line 543</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    String value describing the kind of the navigation property; null if the kind cannot be determined.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="normalizeHeaders"><span class="type-signature">&lt;inner> </span>normalizeHeaders<span class="signature">(headers)</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Normalizes headers so they can be found with consistent casing.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>headers</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Dictionary of name/value pairs.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line852">line 852</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="parseBool"><span class="type-signature">&lt;inner> </span>parseBool<span class="signature">(propertyValue)</span><span class="type-signature"> &rarr; {Boolean}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Parses a string into a boolean value.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>propertyValue</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Value to parse.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line869">line 869</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    true if the property value is 'true'; false otherwise.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Boolean</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="parseDate"><span class="type-signature">&lt;inner> </span>parseDate<span class="signature">(propertyValue, nullOnError)</span><span class="type-signature"> &rarr; {Date}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Parses a string into a Date object.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>propertyValue</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Value to parse.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>nullOnError</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>
            
            
            
            
            
            <td class="description last">return null instead of throwing an exception</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line978">line 978</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The parsed with year, month, day set, time values are set to 0
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Date</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="parseDateTimeMaybeOffset"><span class="type-signature">&lt;inner> </span>parseDateTimeMaybeOffset<span class="signature">(value, withOffset, nullOnError)</span><span class="type-signature"> &rarr; {Date}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Parses a string into a DateTime value.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>value</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Value to parse.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>withOffset</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Whether offset is expected.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>nullOnError</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>
            
            
            
            
            
            <td class="description last">return null instead of throwing an exception</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line893">line 893</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The parsed value.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Date</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="parseDateTimeOffset"><span class="type-signature">&lt;inner> </span>parseDateTimeOffset<span class="signature">(propertyValue, nullOnError)</span><span class="type-signature"> &rarr; {Date}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Parses a string into a DateTimeOffset value.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>propertyValue</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Value to parse.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>nullOnError</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>
            
            
            
            
            
            <td class="description last">return null instead of throwing an exception</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line1021">line 1021</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The parsed value.The resulting object is annotated with an __edmType property andan __offset property reflecting the original intended offset ofthe value. The time is adjusted for UTC time, as the currenttimezone-aware Date APIs will only work with the local timezone.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Date</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="parseDuration"><span class="type-signature">&lt;inner> </span>parseDuration<span class="signature">(duration)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Parses a string in xsd:duration format.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>duration</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Duration value.This method will throw an exception if the input string has a year or a month component.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line1046">line 1046</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    Object representing the time
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Object</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="parseTimeOfDay"><span class="type-signature">&lt;inner> </span>parseTimeOfDay<span class="signature">(propertyValue, nullOnError)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Parses a time into a Date object.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>propertyValue</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last"></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>nullOnError</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Boolean</span>


            
            </td>
            
            
            
            
            
            <td class="description last">return null instead of throwing an exception</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line1000">line 1000</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            


<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Object</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="parseTimezone"><span class="type-signature">&lt;inner> </span>parseTimezone<span class="signature">(timezone)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Parses a timezone description in (+|-)nn:nn format.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>timezone</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Timezone offset.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line1099">line 1099</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    An object with a (d)irection property of 1 for + and -1 for -, offset (h)ours and offset (m)inutes.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Object</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="prepareRequest"><span class="type-signature">&lt;inner> </span>prepareRequest<span class="signature">(request, handler, context)</span><span class="type-signature"></span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Prepares a request object so that it can be sent through the network.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>request</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Object that represents the request to be sent.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>handler</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Handler for data serialization</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>context</code></td>
            
            
            <td class="type">
            
            </td>
            
            
            
            
            
            <td class="description last">Context used for preparing the request</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line1114">line 1114</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="removeNamespace"><span class="type-signature">&lt;inner> </span>removeNamespace<span class="signature">(ns, fullName)</span><span class="type-signature"> &rarr; {String}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Given an expected namespace prefix, removes it from a full name.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>ns</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Expected namespace.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>fullName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">String</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Full name in 'ns'.'name' form.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line764">line 764</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The local name, null if it isn't found in the expected namespace.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">String</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="traverse"><span class="type-signature">&lt;inner> </span>traverse<span class="signature">(item, callback)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Traverses a tree of objects invoking callback for every value.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>item</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Object or array to traverse.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">function</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Callback function with key and value, similar to JSON.parse reviver.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line1178">line 1178</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The traversed object.Unlike the JSON reviver, this won't delete null members.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Object</span>


	</dd>
</dl>

        
    
    
</dd>

        
            
<dt>
    <h4 class="name" id="traverseInternal"><span class="type-signature">&lt;inner> </span>traverseInternal<span class="signature">(item, owner, callback)</span><span class="type-signature"> &rarr; {Object}</span></h4>
    
    
</dt>
<dd>
    
    
    <div class="description">
        Traverses a tree of objects invoking callback for every value.
    </div>
    

    
    
    
    
    
        <h5>Parameters:</h5>
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>item</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Object or array to traverse.</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>owner</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Pass through each callback</td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">function</span>


            
            </td>
            
            
            
            
            
            <td class="description last">Callback function with key and value, similar to JSON.parse reviver.</td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="odatautils.js.html">odata/odatautils.js</a>, <a href="odatautils.js.html#line1152">line 1152</a>
    </li></ul></dd>
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    <h5>Returns:</h5>
    
            
<div class="param-desc">
    The object with traversed properties.
 Unlike the JSON reviver, this won't delete null members.
</div>



<dl>
	<dt>
		Type
	</dt>
	<dd>
		
<span class="param-type">Object</span>


	</dd>
</dl>

        
    
    
</dd>

        </dl>
    
    
    
    
    
</article>

</section>  




</div>

<nav>
    <h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-cache.html">cache</a></li><li><a href="source.html">cache/source</a></li><li><a href="module-odata.html">odata</a></li><li><a href="batch.html">odata/batch</a></li><li><a href="handler.html">odata/handler</a></li><li><a href="json.html">odata/json</a></li><li><a href="metadata.html">odata/metadata</a></li><li><a href="net.html">odata/net</a></li><li><a href="utils.html">odata/utils</a></li><li><a href="deferred.html">odatajs/deferred</a></li><li><a href="utils_.html">odatajs/utils</a></li><li><a href="xml.html">odatajs/xml</a></li><li><a href="module-store.html">store</a></li><li><a href="dom.html">store/dom</a></li><li><a href="indexeddb.html">store/indexeddb</a></li><li><a href="memory.html">store/memory</a></li></ul><h3>Classes</h3><ul><li><a href="DataCache.html">DataCache</a></li><li><a href="DataCacheOperation.html">DataCacheOperation</a></li><li><a href="DjsDeferred.html">DjsDeferred</a></li><li><a href="dom-DomStore.html">DomStore</a></li><li><a href="indexeddb-IndexedDBStore.html">IndexedDBStore</a></li><li><a href="memory-MemoryStore.html">MemoryStore</a></li><li><a href="ODataCacheSource.html">ODataCacheSource</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>

<br clear="both">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Thu Apr 09 2015 08:31:26 GMT+0200 (MESZ)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>