fluro
Version:
Promise based HTTP Fluro client for the browser and node.js
2,756 lines (752 loc) • 36.7 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>utils - Documentation</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.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
<script src="scripts/nav.js" defer></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
<label for="nav-trigger" class="overlay"></label>
<nav >
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="access.html">access</a></li><li><a href="api.html">api</a></li><li><a href="asset.html">asset</a></li><li><a href="auth.html">auth</a></li><li><a href="cache.html">cache</a></li><li><a href="components.html">components</a></li><li><a href="fluro.html">fluro</a></li><li><a href="fluro.content.html">content</a><ul class='methods'><li data-type='method'><a href="fluro.content.html#.duplicate">duplicate</a></li><li data-type='method'><a href="fluro.content.html#.external">external</a></li><li data-type='method'><a href="fluro.content.html#.form">form</a></li><li data-type='method'><a href="fluro.content.html#.get">get</a></li><li data-type='method'><a href="fluro.content.html#.keys">keys</a></li><li data-type='method'><a href="fluro.content.html#.query">query</a></li><li data-type='method'><a href="fluro.content.html#.related">related</a></li><li data-type='method'><a href="fluro.content.html#.retrieve">retrieve</a></li><li data-type='method'><a href="fluro.content.html#.slug">slug</a></li><li data-type='method'><a href="fluro.content.html#.submitInteraction">submitInteraction</a></li><li data-type='method'><a href="fluro.content.html#.submitPost">submitPost</a></li><li data-type='method'><a href="fluro.content.html#.thread">thread</a></li><li data-type='method'><a href="fluro.content.html#.values">values</a></li></ul></li><li><a href="fluro.date.html">date</a><ul class='methods'><li data-type='method'><a href="fluro.date.html#.countdown">countdown</a></li><li data-type='method'><a href="fluro.date.html#.dateFromID">dateFromID</a></li><li data-type='method'><a href="fluro.date.html#.formatDate">formatDate</a></li><li data-type='method'><a href="fluro.date.html#.getAge">getAge</a></li><li data-type='method'><a href="fluro.date.html#.groupEventByDate">groupEventByDate</a></li><li data-type='method'><a href="fluro.date.html#.isDifferentTimezoneThanUser">isDifferentTimezoneThanUser</a></li><li data-type='method'><a href="fluro.date.html#.isMultiDayEvent">isMultiDayEvent</a></li><li data-type='method'><a href="fluro.date.html#.localDate">localDate</a></li><li data-type='method'><a href="fluro.date.html#.readableEventDate">readableEventDate</a></li><li data-type='method'><a href="fluro.date.html#.readableEventTime">readableEventTime</a></li><li data-type='method'><a href="fluro.date.html#.timeago">timeago</a></li><li data-type='method'><a href="fluro.date.html#.timeline">timeline</a></li><li data-type='method'><a href="fluro.date.html#.timestampToAmPm">timestampToAmPm</a></li><li data-type='method'><a href="fluro.date.html#.timezones">timezones</a></li></ul></li><li><a href="fluro.types.html">types</a><ul class='methods'><li data-type='method'><a href="fluro.types.html#.all">all</a></li><li data-type='method'><a href="fluro.types.html#.basicTypes">basicTypes</a></li><li data-type='method'><a href="fluro.types.html#.get">get</a></li><li data-type='method'><a href="fluro.types.html#.mapDefinitionItems">mapDefinitionItems</a></li><li data-type='method'><a href="fluro.types.html#.parentType">parentType</a></li><li data-type='method'><a href="fluro.types.html#.postableTypes">postableTypes</a></li><li data-type='method'><a href="fluro.types.html#.readable">readable</a></li><li data-type='method'><a href="fluro.types.html#.reloadTerminology">reloadTerminology</a></li><li data-type='method'><a href="fluro.types.html#.retrieve">retrieve</a></li><li data-type='method'><a href="fluro.types.html#.subTypes">subTypes</a></li><li data-type='method'><a href="fluro.types.html#.term">term</a></li></ul></li><li><a href="fluro.utils.html">utils</a><ul class='methods'><li data-type='method'><a href="fluro.utils.html#.arrayIDs">arrayIDs</a></li><li data-type='method'><a href="fluro.utils.html#.comma">comma</a></li><li data-type='method'><a href="fluro.utils.html#.currencySymbol">currencySymbol</a></li><li data-type='method'><a href="fluro.utils.html#.errorMessage">errorMessage</a></li><li data-type='method'><a href="fluro.utils.html#.formatCurrency">formatCurrency</a></li><li data-type='method'><a href="fluro.utils.html#.getDefaultValueForField">getDefaultValueForField</a></li><li data-type='method'><a href="fluro.utils.html#.getFlattenedFields">getFlattenedFields</a></li><li data-type='method'><a href="fluro.utils.html#.getStringID">getStringID</a></li><li data-type='method'><a href="fluro.utils.html#.guid">guid</a></li><li data-type='method'><a href="fluro.utils.html#.hash">hash</a></li><li data-type='method'><a href="fluro.utils.html#.injectScript">injectScript</a></li><li data-type='method'><a href="fluro.utils.html#.machineName">machineName</a></li><li data-type='method'><a href="fluro.utils.html#.mapParameters">mapParameters</a></li><li data-type='method'><a href="fluro.utils.html#.matchInArray">matchInArray</a></li><li data-type='method'><a href="fluro.utils.html#.processCardPrioritySort">processCardPrioritySort</a></li></ul></li><li><a href="fluro.video.html">video</a><ul class='methods'><li data-type='method'><a href="fluro.video.html#.hhmmss">hhmmss</a></li><li data-type='method'><a href="fluro.video.html#.readableMilliseconds">readableMilliseconds</a></li><li data-type='method'><a href="fluro.video.html#.readableSeconds">readableSeconds</a></li></ul></li></ul>
</nav>
<div id="main">
<h1 class="page-title">utils</h1>
<section>
<header>
<h2>
<span class="ancestors"><a href="fluro.html">fluro</a>.</span>
utils
</h2>
<div class="class-description">A static service that provides useful helper functions and tools for other Fluro services</div>
</header>
<article>
<h3 class="subsection-title">Members</h3>
<h4 class="name" id=".injectModule"><span class="type-signature">(static) </span>injectModule<span class="type-signature"></span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line689">line 689</a>
</li></ul></dd>
</dl>
<div class="description">
Helper function for including external javascript resources
This ensures that scripts are only included a single time on each page
</div>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id=".arrayIDs"><span class="type-signature">(static) </span>arrayIDs<span class="signature">(array, asObjectID)</span><span class="type-signature"> → {Array}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line456">line 456</a>
</li></ul></dd>
</dl>
<div class="description">
Cleans and maps an array of objects to an array of IDs
</div>
<h5>Example</h5>
<pre class="prettyprint"><code>//Returns ['5cb3d8b3a2219970e6f86927', '5cb3d8b3a2219970e6f86927', '5cb3d8b3a2219970e6f86927']
fluro.utils.arrayIDs([{_id:'5cb3d8b3a2219970e6f86927'}, {_id:'5cb3d8b3a2219970e6f86927'}, null, '5cb3d8b3a2219970e6f86927'])</code></pre>
<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>array</code></td>
<td class="type">
<span class="param-type">Array</span>
</td>
<td class="description last">An array of objects or object ids</td>
</tr>
<tr>
<td class="name"><code>asObjectID</code></td>
<td class="type">
<span class="param-type">Boolean</span>
</td>
<td class="description last">Whether or not to map the ids as Mongo ObjectIds</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
An array of Ids
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array</span>
</dd>
</dl>
<h4 class="name" id=".comma"><span class="type-signature">(static) </span>comma<span class="signature">(array, path)</span><span class="type-signature"> → {String}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line351">line 351</a>
</li></ul></dd>
</dl>
<div class="description">
A helpful class that can take an array of values and return them as a comma seperated
string, If the values are objects, then a property to use as the string representation can be specified
</div>
<h5>Example</h5>
<pre class="prettyprint"><code>//Returns 'cat, dog, bird'
fluro.utils.comma(['cat', 'dog', 'bird']);
//Returns 'cat, dog, bird'
fluro.utils.comma([{title:'cat'}, {title:'dog'}, {title:'bird'}], 'title');</code></pre>
<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>array</code></td>
<td class="type">
<span class="param-type">Array</span>
</td>
<td class="description last">The array of values to translate</td>
</tr>
<tr>
<td class="name"><code>path</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">An optional property key to use for each value</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The resulting comma seperated string
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
<h4 class="name" id=".currencySymbol"><span class="type-signature">(static) </span>currencySymbol<span class="signature">(currency)</span><span class="type-signature"> → {String}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line88">line 88</a>
</li></ul></dd>
</dl>
<div class="description">
A function that will take a currency string and return the symbol
</div>
<h5>Example</h5>
<pre class="prettyprint"><code>//Returns £
fluro.utils.currencySymbol('gbp');
//Returns $
fluro.utils.currencySymbol('usd');</code></pre>
<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>currency</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">The currency</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The symbol
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
<h4 class="name" id=".errorMessage"><span class="type-signature">(static) </span>errorMessage<span class="signature">(error)</span><span class="type-signature"> → {String}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line481">line 481</a>
</li></ul></dd>
</dl>
<div class="description">
Helper function for retrieving a human readable error message from server error response objects
</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>error</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">The error object to translate</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The resulting human readable error message
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
<h4 class="name" id=".formatCurrency"><span class="type-signature">(static) </span>formatCurrency<span class="signature">(value, currency)</span><span class="type-signature"> → {String}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line62">line 62</a>
</li></ul></dd>
</dl>
<div class="description">
A function that will take an integer and a currency string and return a formatted numeric amount rounded to 2 decimal places
</div>
<h5>Example</h5>
<pre class="prettyprint"><code>//Returns £10.00
fluro.utils.formatCurrency(1000, 'gbp');
//Returns $10.00
fluro.utils.formatCurrency(1000, 'usd');</code></pre>
<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">Integer</span>
</td>
<td class="description last">The amount in cents</td>
</tr>
<tr>
<td class="name"><code>currency</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">The currency to format</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The formatted value
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
<h4 class="name" id=".getDefaultValueForField"><span class="type-signature">(static) </span>getDefaultValueForField<span class="signature">()</span><span class="type-signature"> → {String|Number|Object}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line157">line 157</a>
</li></ul></dd>
</dl>
<div class="description">
A helper function to extract a default value from a fluro field definition
</div>
<h5>Returns:</h5>
<div class="param-desc">
The default value
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
|
<span class="param-type">Number</span>
|
<span class="param-type">Object</span>
</dd>
</dl>
<h4 class="name" id=".getFlattenedFields"><span class="type-signature">(static) </span>getFlattenedFields<span class="signature">(fields, trail, trail)</span><span class="type-signature"> → {Array}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line754">line 754</a>
</li></ul></dd>
</dl>
<div class="description">
Helper function for getting a flattened list of all nested fields
defined for a definition in Fluro
</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>fields</code></td>
<td class="type">
<span class="param-type">Array</span>
</td>
<td class="description last">The array of fields</td>
</tr>
<tr>
<td class="name"><code>trail</code></td>
<td class="type">
<span class="param-type">Array</span>
</td>
<td class="description last">An array to append trails to (required)</td>
</tr>
<tr>
<td class="name"><code>trail</code></td>
<td class="type">
<span class="param-type">Array</span>
</td>
<td class="description last">An array to append titles to (required)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
A flattened list of all fields with their nested trails and titles
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array</span>
</dd>
</dl>
<h4 class="name" id=".getStringID"><span class="type-signature">(static) </span>getStringID<span class="signature">(input, asObjectID)</span><span class="type-signature"> → {String}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line393">line 393</a>
</li></ul></dd>
</dl>
<div class="description">
Returns a specified _id for an object
</div>
<h5>Example</h5>
<pre class="prettyprint"><code>//Returns '5cb3d8b3a2219970e6f86927'
fluro.utils.getStringID('5cb3d8b3a2219970e6f86927')
//Returns true
typeof FluroUtils.getStringID({_id:'5cb3d8b3a2219970e6f86927', title, ...}) == 'string';
//Returns true
typeof FluroUtils.getStringID({_id:'5cb3d8b3a2219970e6f86927'}, true) == 'object';</code></pre>
<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>input</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">An object that is or has an _id property</td>
</tr>
<tr>
<td class="name"><code>asObjectID</code></td>
<td class="type">
<span class="param-type">Boolean</span>
</td>
<td class="description last">Whether to convert to a Mongo ObjectId</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
Will return either a string or a Mongo ObjectId
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
<h4 class="name" id=".guid"><span class="type-signature">(static) </span>guid<span class="signature">()</span><span class="type-signature"> → {String}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line139">line 139</a>
</li></ul></dd>
</dl>
<div class="description">
A helpful function that can create a globally unique id
</div>
<h5>Example</h5>
<pre class="prettyprint"><code>//Returns 20354d7a-e4fe-47af-8ff6-187bca92f3f9
fluro.utils.guid()</code></pre>
<h5>Returns:</h5>
<div class="param-desc">
The new guid
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
<h4 class="name" id=".hash"><span class="type-signature">(static) </span>hash<span class="signature">(array, key)</span><span class="type-signature"> → {Object}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line118">line 118</a>
</li></ul></dd>
</dl>
<div class="description">
A helpful function for creating a fast hash object that can be used for more efficient loops
</div>
<h5>Example</h5>
<pre class="prettyprint"><code>//Returns {something:[{title:'test', definition:'something'}]}
fluro.utils.mapReduce([{title:'test', definition:'something'}], 'definition');</code></pre>
<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>array</code></td>
<td class="type">
<span class="param-type">Array</span>
</td>
<td class="description last">The array to reduce</td>
</tr>
<tr>
<td class="name"><code>key</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">The key or path to the property to group by</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
A hash object literal
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Object</span>
</dd>
</dl>
<h4 class="name" id=".injectScript"><span class="type-signature">(static) </span>injectScript<span class="signature">(url)</span><span class="type-signature"> → {Promise}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line641">line 641</a>
</li></ul></dd>
</dl>
<div class="description">
Helper function for including external javascript resources
This ensures that scripts are only included a single time on each page
</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>url</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">The URL of the script to import</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
A promise that resolves once the script has been included on the page
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise</span>
</dd>
</dl>
<h4 class="name" id=".machineName"><span class="type-signature">(static) </span>machineName<span class="signature">(string)</span><span class="type-signature"> → {String}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line604">line 604</a>
</li></ul></dd>
</dl>
<div class="description">
Helper function for cleaning strings to use as database ids
</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>string</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">The string to clean eg. (Awesome Event!)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
A cleaned and formatted string eg. (awesomeEvent)
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
<h4 class="name" id=".mapParameters"><span class="type-signature">(static) </span>mapParameters<span class="signature">(parameters)</span><span class="type-signature"> → {String}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line28">line 28</a>
</li></ul></dd>
</dl>
<div class="description">
A helpful function that can take a keyed object literal and map it to url query string parameters
</div>
<h5>Example</h5>
<pre class="prettyprint"><code>//Returns &this=that&hello=world
fluro.utils.mapParameters({"this":"that", "hello":"world"})</code></pre>
<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>parameters</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">The object you want to transalte</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The query string
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">String</span>
</dd>
</dl>
<h4 class="name" id=".matchInArray"><span class="type-signature">(static) </span>matchInArray<span class="signature">(array, path, value, operator)</span><span class="type-signature"> → {Array}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line289">line 289</a>
</li></ul></dd>
</dl>
<div class="description">
A helpful function that can return a subset of an array compared to specified criteria, This is usually used
to evaluate expressions on Fluro forms
</div>
<h5>Example</h5>
<pre class="prettyprint"><code>//Returns {name:'Jerry', age:26} as that is only item in the array that matches the criteria
fluro.utils.matchInArray([{name:'Jerry', age:26}, {name:'Susan', age:19}], 'age', 26, '>=');</code></pre>
<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>array</code></td>
<td class="type">
<span class="param-type">Array</span>
</td>
<td class="description last">The array you want to filter</td>
</tr>
<tr>
<td class="name"><code>path</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">The path to the property you want to compare on each item in the array</td>
</tr>
<tr>
<td class="name"><code>value</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">The value to compare with</td>
</tr>
<tr>
<td class="name"><code>operator</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="description last">Can be Possible options are ('>', '<', '>=', '<=', 'in', '==') Defaults to '==' (Is equal to)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
An array that contains all items that matched
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array</span>
</dd>
</dl>
<h4 class="name" id=".processCardPrioritySort"><span class="type-signature">(static) </span>processCardPrioritySort<span class="signature">(card)</span><span class="type-signature"> → {Integer}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="fluro.utils.js.html">fluro.utils.js</a>, <a href="fluro.utils.js.html#line537">line 537</a>
</li></ul></dd>
</dl>
<div class="description">
Helper function for sorting process cards by priority
</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>card</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">The process card to sort</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
An integer representing it's sorting priority
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Integer</span>
</dd>
</dl>
</article>
</section>
</div>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Aug 06 2020 08:07:22 GMT+1000 (Australian Eastern Standard Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
</footer>
<script>prettyPrint();</script>
<script src="scripts/polyfill.js"></script>
<script src="scripts/linenumber.js"></script>
</body>
</html>