docs/coverage.html
{"kind":"notice","notice":"hello seneca ghq3tym2xexv/1526383228212/91099/3.5.0/-","level":"info","seneca":"ghq3tym2xexv/1526383228212/91099/3.5.0/-","when":1526383228794}
{"kind":"notice","notice":"hello seneca ti4h721et52i/1526383228136/91099/3.5.0/-","level":"info","seneca":"ti4h721et52i/1526383228136/91099/3.5.0/-","when":1526383228919}
{"kind":"notice","notice":"hello seneca t3fwuulzxdmw/1526383228205/91099/3.5.0/-","level":"info","seneca":"t3fwuulzxdmw/1526383228205/91099/3.5.0/-","when":1526383228922}
<!doctype html>
<html>
<head>
<title>Tests & Coverage</title>
<script>
headings = [];
onload = function () {
headings = document.querySelectorAll('h2');
reset();
};
onscroll = function (e) {
var heading = find(window.scrollY);
if (!heading) {
var current = document.querySelector('#menu a.active');
if (current) {
current.className = '';
}
return;
}
var links = document.querySelectorAll('#menu a')
, link;
for (var i = 0, len = links.length; i < len; ++i) {
link = links[i];
link.className = link.getAttribute('href') == '#' + heading.id ? 'active' : '';
}
};
function find (y) {
var i = headings.length
, heading;
while (i--) {
heading = headings[i];
if (y >= heading.offsetTop) {
return heading;
}
}
}
function toggle (className) {
var elements = document.getElementsByClassName(className);
for (var i = 0, il = elements.length; i < il; ++i) {
var element = elements[i];
if (element.classList.contains('hide')) {
element.classList.remove('hide');
element.classList.add('show');
}
else {
element.classList.remove('show');
element.classList.add('hide');
}
};
}
function reset () {
var shownElements = document.getElementsByClassName('show');
var filterElements = document.querySelectorAll('input[type=checkbox]');
for (var i = 0, il = filterElements.length; i < il; ++i) {
filterElements[i].checked = false;
}
// Check any filters with visible elements
for (i = 0, il = shownElements.length; i < il; ++i) {
var shownElement = shownElements[i];
var classNames = shownElement.className.split(' ');
for (var ci = 0, cl = classNames.length; ci < cl; ++ci){
var element = document.getElementById('show-' + classNames[ci]);
if (element) {
element.checked = true;
}
}
}
};
function filter (element) {
toggle(element.value);
reset();
}
</script>
<style>
body {
font: 14px/1.6 Helvetica, Arial, sans-serif;
margin: 0;
color: #2c2c2c;
}
#tests, #coverage, #linting {
padding: 60px;
}
h1 a:hover {
text-decoration: none;
}
a[href^="#"],
a[href^="#"]:visited {
color: inherit;
text-decoration: none;
}
h2 {
width: 80%;
margin-top: 80px;
margin-bottom: 0;
font-weight: 100;
letter-spacing: 1px;
}
ul {
margin-top: 20px;
padding: 0 15px;
width: 100%;
}
ul li {
float: left;
width: 40%;
margin-top: 5px;
margin-right: 60px;
list-style: none;
padding: 5px 0;
font-size: 12px;
}
#menu {
position: fixed;
font-size: 12px;
overflow-y: auto;
top: 0;
right: 0;
margin: 0;
height: 100%;
padding: 15px 15px;
border-left: 1px solid #eee;
background-color: #666;
z-index: 1;
}
#menu::after {
display: block;
content: '';
padding-top: 80px;
}
#menu li a {
display: block;
color: white;
padding: 0 5px 0 35px;
transition: background 300ms;
text-decoration: none;
}
#menu li {
position: relative;
list-style: none;
}
#menu a:hover,
#menu a.active {
text-decoration: none;
background: rgba(255, 255, 255, .4);
}
#menu li:hover .cov {
opacity: 1;
}
#menu li .dirname {
opacity: .60;
padding-right: 2px;
}
#menu li .basename {
opacity: 1;
}
#menu .cov, #menu .lint {
background: rgba(0, 0, 0, .3);
position: absolute;
top: 0;
font-size: 9px;
text-align: center;
opacity: .8;
width: 22px;
border-radius: 10px;
padding: 2px 3px;
}
#files .stats:nth-child(2n):not(.hide) {
display: inline-block;
margin-top: 15px;
border: 1px solid #eee;
padding: 10px;
border-radius: 5px;
}
.stats div {
float: left;
padding: 0 5px;
}
.stats::after {
display: block;
content: '';
clear: both;
}
.stats .sloc::after {
content: ' SLOC';
color: #b6b6b6;
}
.stats .percentage::after {
content: ' coverage';
color: #b6b6b6;
}
.stats .hits::before {
content: '(';
color: #b6b6b6;
}
.stats .hits::after {
content: ' Covered';
color: #b6b6b6;
}
.stats .misses::after {
content: ' Not Covered)';
color: #b6b6b6;
}
.stats .failures::after {
content: ' Failures';
color: #b6b6b6;
}
.stats .skipped::after {
content: ' Skipped';
color: #b6b6b6;
}
.stats .test-count::after {
content: ' Tests';
color: #b6b6b6;
}
.stats .duration::before {
content: '(';
color: #b6b6b6;
}
.stats .duration::after {
content: ' ms)';
color: #b6b6b6;
}
.high {
color: #00d4b4;
}
.medium {
color: #e87d0d;
}
.low {
color: #d4081a;
}
.terrible {
color: #d4081a;
font-weight: bold;
}
#files table {
width: 80%;
margin-top: 10px;
border-collapse: collapse;
border: 1px solid #cbcbcb;
color: #363636;
border-radius: 3px;
}
#files thead {
display: none;
}
table td.line,
table td.lint,
table td.hits,
table td.original-line {
width: 20px;
background: #eaeaea;
text-align: right;
font-size: 11px;
padding: 0 10px;
color: #949494;
white-space: nowrap;
}
table td.hits {
width: 10px;
padding: 2px 5px;
color: rgba(0, 0, 0, .2);
background: #f0f0f0;
}
table td.lint.empty {
width: 0;
padding: 0;
}
table td.lint > span {
border-radius: 50%;
width: 8px;
height: 8px;
display: inline-block;
vertical-align: baseline;
}
table td.lint .errors {
background-color: red;
}
table td.lint .warnings {
background-color: orange;
}
tr.miss td.line,
tr.miss td.hits {
background: #e6c3c7;
}
tr.miss td {
background: #f8d5d8;
}
td.source {
padding-left: 15px;
line-height: 15px;
white-space: pre;
font: 12px monaco, monospace;
}
td.source div {
display: inline-block;
}
td.source div.true {
background: #bae8bf;
}
td.source div.false {
background: #e8e5ba;
}
td.source div.never {
background: #f8d5d8;
}
#tests table {
width: 80%;
margin-top: 10px;
border-collapse: collapse;
border: 1px solid #cbcbcb;
color: #363636;
border-radius: 3px;
}
#tests thead {
background: #F5F5F5;
}
#tests tr {
border: 1px solid #ccc;
}
#tests td {
padding-left: 8px;
vertical-align: top;
}
#tests .success:nth-child(2n) {
background: #F5F5F5;
}
#tests .failure {
background: #FF9E9E;
}
#tests table .skipped {
background: #AA82FF;
}
#tests .success {
color: #949494;
}
#tests .failure .test-title {
font-weight: bold;
margin-top: 5px;
}
#tests .stack {
margin-top: 4px;
padding-left: 15px;
margin-bottom: 12px;
font: 12px monaco, monospace;
white-space: pre;
line-height: 15px;
}
.hide {
display: none;
}
.show {
display: inherit;
}
#tests table .show {
display: table-row;
}
[data-tooltip] {
position: relative;
}
[data-tooltip]:hover:before {
border: solid;
border-color: #333 transparent;
border-width: 6px 6px 0 6px;
bottom: 20px;
content: "";
left: 0;
position: absolute;
z-index: 99;
}
[data-tooltip]:hover:after {
background: #333;
background: rgba(0, 0, 0, .8);
border-radius: 5px;
bottom: 26px;
color: #fff;
left: -10px;
padding: 5px 15px;
position: absolute;
z-index: 98;
content: attr(data-tooltip);
white-space: pre;
text-align: left;
}
.line[data-tooltip]:hover:after {
content: "Line number";
}
.hits[data-tooltip]:hover:after {
content: "Number of hits";
}
.miss .source[data-tooltip]:hover:after {
content: "Missed line";
}
.miss.true[data-tooltip]:hover:after {
content: "Condition always true";
}
.miss.false[data-tooltip]:hover:after {
content: "Condition always false";
}
.miss.never[data-tooltip]:hover:after {
content: "Statement never reached";
}
.lint .errors[data-tooltip]:hover:after {
content: "Linting errors:\A" attr(data-tooltip);
}
.lint .warnings[data-tooltip]:hover:after {
content: "Linting warnings:\A" attr(data-tooltip);
}
.original-line[data-tooltip]:hover:after {
content: "Original line in file " attr(data-tooltip);
}
#filters {
width: 75%;
margin-top: 25px;
}
#filters label {
margin-right: 10px;
}
.lint-stats .lint-errors::after {
content: ' linting errors';
color: #b6b6b6;
}
.lint-stats .lint-warnings::after {
content: ' linting warnings';
color: #b6b6b6;
}
.lint-entry {
color: #b6b6b6;
float: none;
padding: 0;
}
.lint-entry .level-ERROR {
color: #d4081a;
}
.lint-entry .level-WARNING {
color: #e87d0d;
}
</style>
</head>
<body>
<div id="menu">
<li><a href="#tests">Test Report</a></li>
<li><a href="#coverage">Coverage Report</a></li>
<li class="">
<span class="cov high">86.03</span>
<a href="#mongo-store.js"><span class="basename">mongo-store.js</span></a>
</li>
<li><a href="#linting">Linting Report</a></li>
<li>
<span class="lint"><span class="low">2</span> || <span class="high">0</span></span>
<a href="#lint-mongo-store.js">mongo-store.js</a>
</li>
</div>
<div id="tests">
<h1>Test Report</h1>
<div class="stats high">
<div class="failures">0</div>
<div class="skipped">0</div>
<div class="test-count">72</div>
<div class="duration">3547</div>
</div>
<div id="filters">
<input type="checkbox" checked="" onchange="filter(this)" value="success" id="show-success">
<label for="show-success">Show Success</label>
<input type="checkbox" checked="" onchange="filter(this)" value="failure" id="show-failure">
<label for="show-failure">Show Failure</label>
<br>
<input type="checkbox" checked="" onchange="filter(this)" value="mongo_tests" id="show-mongo_tests">
<label for="show-mongo_tests">mongo tests</label>
<input type="checkbox" checked="" onchange="filter(this)" value="Basic_Tests" id="show-Basic_Tests">
<label for="show-Basic_Tests">Basic Tests</label>
<input type="checkbox" checked="" onchange="filter(this)" value="Load" id="show-Load">
<label for="show-Load">Load</label>
<input type="checkbox" checked="" onchange="filter(this)" value="Save" id="show-Save">
<label for="show-Save">Save</label>
<input type="checkbox" checked="" onchange="filter(this)" value="With_Option_merge:false" id="show-With_Option_merge:false">
<label for="show-With_Option_merge:false">With Option merge:false</label>
<input type="checkbox" checked="" onchange="filter(this)" value="List" id="show-List">
<label for="show-List">List</label>
<input type="checkbox" checked="" onchange="filter(this)" value="Remove" id="show-Remove">
<label for="show-Remove">Remove</label>
<input type="checkbox" checked="" onchange="filter(this)" value="Native" id="show-Native">
<label for="show-Native">Native</label>
<input type="checkbox" checked="" onchange="filter(this)" value="Limits" id="show-Limits">
<label for="show-Limits">Limits</label>
<input type="checkbox" checked="" onchange="filter(this)" value="Sorting" id="show-Sorting">
<label for="show-Sorting">Sorting</label>
<input type="checkbox" checked="" onchange="filter(this)" value="mongo_regular_connection_test" id="show-mongo_regular_connection_test">
<label for="show-mongo_regular_connection_test">mongo regular connection test</label>
</div>
<table>
<thead>
<tr>
<th>ID</th>
<th>Title</th>
<th>Duration (ms)</th>
</tr>
</thead>
<tbody>
<tr class="show mongo_tests success">
<td class="test-id">1</td>
<td class="test-title">mongo tests extra test
</td>
<td class="test-duration">144</td>
</tr>
<tr class="show mongo_tests Basic_Tests Load success">
<td class="test-id">2</td>
<td class="test-title">mongo tests Basic Tests Load should load an entity
</td>
<td class="test-duration">6</td>
</tr>
<tr class="show mongo_tests Basic_Tests Load success">
<td class="test-id">3</td>
<td class="test-title">mongo tests Basic Tests Load should return null for non existing entity
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Basic_Tests Load success">
<td class="test-id">4</td>
<td class="test-title">mongo tests Basic Tests Load should support filtering
</td>
<td class="test-duration">7</td>
</tr>
<tr class="show mongo_tests Basic_Tests Load success">
<td class="test-id">5</td>
<td class="test-title">mongo tests Basic Tests Load should filter with AND
</td>
<td class="test-duration">6</td>
</tr>
<tr class="show mongo_tests Basic_Tests Load success">
<td class="test-id">6</td>
<td class="test-title">mongo tests Basic Tests Load should filter with AND 2
</td>
<td class="test-duration">6</td>
</tr>
<tr class="show mongo_tests Basic_Tests Load success">
<td class="test-id">7</td>
<td class="test-title">mongo tests Basic Tests Load should support different attribute types
</td>
<td class="test-duration">6</td>
</tr>
<tr class="show mongo_tests Basic_Tests Load success">
<td class="test-id">8</td>
<td class="test-title">mongo tests Basic Tests Load should not mix attributes from entity to query for filtering
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Basic_Tests Load success">
<td class="test-id">9</td>
<td class="test-title">mongo tests Basic Tests Load should reload current entity if no query provided and id present
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Basic_Tests Load success">
<td class="test-id">10</td>
<td class="test-title">mongo tests Basic Tests Load should do nothing if no query provided and id not present
</td>
<td class="test-duration">1</td>
</tr>
<tr class="show mongo_tests Basic_Tests Save success">
<td class="test-id">11</td>
<td class="test-title">mongo tests Basic Tests Save should save an entity to store (and generate an id)
</td>
<td class="test-duration">8</td>
</tr>
<tr class="show mongo_tests Basic_Tests Save success">
<td class="test-id">12</td>
<td class="test-title">mongo tests Basic Tests Save should save an entity to store (with provided id)
</td>
<td class="test-duration">14</td>
</tr>
<tr class="show mongo_tests Basic_Tests Save success">
<td class="test-id">13</td>
<td class="test-title">mongo tests Basic Tests Save should update an entity if id provided
</td>
<td class="test-duration">15</td>
</tr>
<tr class="show mongo_tests Basic_Tests Save success">
<td class="test-id">14</td>
<td class="test-title">mongo tests Basic Tests Save should save an entity if id provided but original doesn't exist
</td>
<td class="test-duration">15</td>
</tr>
<tr class="show mongo_tests Basic_Tests Save success">
<td class="test-id">15</td>
<td class="test-title">mongo tests Basic Tests Save should allow to not merge during update with merge$: false
</td>
<td class="test-duration">14</td>
</tr>
<tr class="show mongo_tests Basic_Tests Save success">
<td class="test-id">16</td>
<td class="test-title">mongo tests Basic Tests Save should support different attribute types
</td>
<td class="test-duration">11</td>
</tr>
<tr class="show mongo_tests Basic_Tests Save success">
<td class="test-id">17</td>
<td class="test-title">mongo tests Basic Tests Save should allow dublicate attributes
</td>
<td class="test-duration">8</td>
</tr>
<tr class="show mongo_tests Basic_Tests Save success">
<td class="test-id">18</td>
<td class="test-title">mongo tests Basic Tests Save should not save modifications to entity after save completes
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Basic_Tests Save success">
<td class="test-id">19</td>
<td class="test-title">mongo tests Basic Tests Save should not backport modification to saved entity to the original one
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Basic_Tests Save success">
<td class="test-id">20</td>
<td class="test-title">mongo tests Basic Tests Save should clear an attribute if = null
</td>
<td class="test-duration">25</td>
</tr>
<tr class="show mongo_tests Basic_Tests With_Option_merge:false success">
<td class="test-id">21</td>
<td class="test-title">mongo tests Basic Tests With Option merge:false should provide senecaMerge
</td>
<td class="test-duration">0</td>
</tr>
<tr class="show mongo_tests Basic_Tests With_Option_merge:false success">
<td class="test-id">22</td>
<td class="test-title">mongo tests Basic Tests With Option merge:false should update an entity if id provided
</td>
<td class="test-duration">18</td>
</tr>
<tr class="show mongo_tests Basic_Tests With_Option_merge:false success">
<td class="test-id">23</td>
<td class="test-title">mongo tests Basic Tests With Option merge:false should allow to merge during update with merge$: true
</td>
<td class="test-duration">12</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">24</td>
<td class="test-title">mongo tests Basic Tests List should load all elements if no params
</td>
<td class="test-duration">8</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">25</td>
<td class="test-title">mongo tests Basic Tests List should load all elements if no params 2
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">26</td>
<td class="test-title">mongo tests Basic Tests List should load all elements if no query provided
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">27</td>
<td class="test-title">mongo tests Basic Tests List should list entities by id
</td>
<td class="test-duration">6</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">28</td>
<td class="test-title">mongo tests Basic Tests List should list entities by integer property
</td>
<td class="test-duration">6</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">29</td>
<td class="test-title">mongo tests Basic Tests List should list entities by string property
</td>
<td class="test-duration">8</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">30</td>
<td class="test-title">mongo tests Basic Tests List should list entities by two properties
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">31</td>
<td class="test-title">mongo tests Basic Tests List should support opaque ids (array)
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">32</td>
<td class="test-title">mongo tests Basic Tests List should support opaque ids (single id)
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">33</td>
<td class="test-title">mongo tests Basic Tests List should support opaque ids (string)
</td>
<td class="test-duration">1010</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">34</td>
<td class="test-title">mongo tests Basic Tests List should filter with AND
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Basic_Tests List success">
<td class="test-id">35</td>
<td class="test-title">mongo tests Basic Tests List should not mix attributes from entity to query for filtering
</td>
<td class="test-duration">3</td>
</tr>
<tr class="show mongo_tests Basic_Tests Remove success">
<td class="test-id">36</td>
<td class="test-title">mongo tests Basic Tests Remove should delete only an entity
</td>
<td class="test-duration">10</td>
</tr>
<tr class="show mongo_tests Basic_Tests Remove success">
<td class="test-id">37</td>
<td class="test-title">mongo tests Basic Tests Remove should delete all entities if all$ = true
</td>
<td class="test-duration">10</td>
</tr>
<tr class="show mongo_tests Basic_Tests Remove success">
<td class="test-id">38</td>
<td class="test-title">mongo tests Basic Tests Remove should delete an entity by property
</td>
<td class="test-duration">12</td>
</tr>
<tr class="show mongo_tests Basic_Tests Remove success">
<td class="test-id">39</td>
<td class="test-title">mongo tests Basic Tests Remove should delete entities filtered by AND
</td>
<td class="test-duration">8</td>
</tr>
<tr class="show mongo_tests Basic_Tests Remove success">
<td class="test-id">40</td>
<td class="test-title">mongo tests Basic Tests Remove should return deleted entity if load$: true
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Basic_Tests Remove success">
<td class="test-id">41</td>
<td class="test-title">mongo tests Basic Tests Remove should never return deleted entities if all$: true
</td>
<td class="test-duration">6</td>
</tr>
<tr class="show mongo_tests Basic_Tests Remove success">
<td class="test-id">42</td>
<td class="test-title">mongo tests Basic Tests Remove should not delete current ent (only uses query)
</td>
<td class="test-duration">11</td>
</tr>
<tr class="show mongo_tests Basic_Tests Remove success">
<td class="test-id">43</td>
<td class="test-title">mongo tests Basic Tests Remove should delete current entity if no query present
</td>
<td class="test-duration">13</td>
</tr>
<tr class="show mongo_tests Basic_Tests Native success">
<td class="test-id">44</td>
<td class="test-title">mongo tests Basic Tests Native should prived direct access to the driver
</td>
<td class="test-duration">3</td>
</tr>
<tr class="show mongo_tests Limits success">
<td class="test-id">45</td>
<td class="test-title">mongo tests Limits check setup correctly
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Limits Load success">
<td class="test-id">46</td>
<td class="test-title">mongo tests Limits Load should support skip and sort
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Limits Load success">
<td class="test-id">47</td>
<td class="test-title">mongo tests Limits Load should return empty array when skipping all the records
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Limits Load success">
<td class="test-id">48</td>
<td class="test-title">mongo tests Limits Load should not be influenced by limit
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Limits Load success">
<td class="test-id">49</td>
<td class="test-title">mongo tests Limits Load should ignore skip < 0
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Limits Load success">
<td class="test-id">50</td>
<td class="test-title">mongo tests Limits Load should ignore limit < 0
</td>
<td class="test-duration">3</td>
</tr>
<tr class="show mongo_tests Limits Load success">
<td class="test-id">51</td>
<td class="test-title">mongo tests Limits Load should ignore invalid qualifier values
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Limits List success">
<td class="test-id">52</td>
<td class="test-title">mongo tests Limits List should support limit, skip and sort
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Limits List success">
<td class="test-id">53</td>
<td class="test-title">mongo tests Limits List should return empty array when skipping all the records
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Limits List success">
<td class="test-id">54</td>
<td class="test-title">mongo tests Limits List should return correct number of records if limit is too high
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Limits List success">
<td class="test-id">55</td>
<td class="test-title">mongo tests Limits List should ignore skip < 0
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Limits List success">
<td class="test-id">56</td>
<td class="test-title">mongo tests Limits List should ignore limit < 0
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Limits List success">
<td class="test-id">57</td>
<td class="test-title">mongo tests Limits List should ignore invalid qualifier values
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Limits Remove success">
<td class="test-id">58</td>
<td class="test-title">mongo tests Limits Remove should support limit, skip and sort
</td>
<td class="test-duration">12</td>
</tr>
<tr class="show mongo_tests Limits Remove success">
<td class="test-id">59</td>
<td class="test-title">mongo tests Limits Remove should not be impacted by limit > 1
</td>
<td class="test-duration">7</td>
</tr>
<tr class="show mongo_tests Limits Remove success">
<td class="test-id">60</td>
<td class="test-title">mongo tests Limits Remove should work with all$: true
</td>
<td class="test-duration">13</td>
</tr>
<tr class="show mongo_tests Limits Remove success">
<td class="test-id">61</td>
<td class="test-title">mongo tests Limits Remove should not delete anyithing when skipping all the records
</td>
<td class="test-duration">8</td>
</tr>
<tr class="show mongo_tests Limits Remove success">
<td class="test-id">62</td>
<td class="test-title">mongo tests Limits Remove should delete correct number of records if limit is too high
</td>
<td class="test-duration">11</td>
</tr>
<tr class="show mongo_tests Limits Remove success">
<td class="test-id">63</td>
<td class="test-title">mongo tests Limits Remove should ignore skip < 0
</td>
<td class="test-duration">8</td>
</tr>
<tr class="show mongo_tests Limits Remove success">
<td class="test-id">64</td>
<td class="test-title">mongo tests Limits Remove should ignore limit < 0
</td>
<td class="test-duration">12</td>
</tr>
<tr class="show mongo_tests Limits Remove success">
<td class="test-id">65</td>
<td class="test-title">mongo tests Limits Remove should ignore invalid qualifier values
</td>
<td class="test-duration">8</td>
</tr>
<tr class="show mongo_tests Sorting Load success">
<td class="test-id">66</td>
<td class="test-title">mongo tests Sorting Load should support ascending order
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Sorting Load success">
<td class="test-id">67</td>
<td class="test-title">mongo tests Sorting Load should support descending order
</td>
<td class="test-duration">4</td>
</tr>
<tr class="show mongo_tests Sorting List success">
<td class="test-id">68</td>
<td class="test-title">mongo tests Sorting List should support ascending order
</td>
<td class="test-duration">5</td>
</tr>
<tr class="show mongo_tests Sorting List success">
<td class="test-id">69</td>
<td class="test-title">mongo tests Sorting List should support descending order
</td>
<td class="test-duration">3</td>
</tr>
<tr class="show mongo_tests Sorting Remove success">
<td class="test-id">70</td>
<td class="test-title">mongo tests Sorting Remove should support ascending order
</td>
<td class="test-duration">11</td>
</tr>
<tr class="show mongo_tests Sorting Remove success">
<td class="test-id">71</td>
<td class="test-title">mongo tests Sorting Remove should support descending order
</td>
<td class="test-duration">9</td>
</tr>
<tr class="show mongo_regular_connection_test success">
<td class="test-id">72</td>
<td class="test-title">mongo regular connection test simple test
</td>
<td class="test-duration">12</td>
</tr>
</tbody>
</table>
</div> <div id="coverage">
<h1>Code Coverage Report</h1>
<div class="stats high">
<div class="percentage">86.03%</div>
<div class="sloc">315</div>
<div class="hits">271</div>
<div class="misses">44</div>
</div>
<div id="filters">
<input type="checkbox" checked="" onchange="filter(this)" value="generated" id="show-generated">
<label for="show-generated">Show generated files</label>
</div>
<div id="files">
<div class="file ">
<h2 id="mongo-store.js">mongo-store.js </h2>
<div class="stats high">
<div class="percentage">86.03%</div>
<div class="sloc">315</div>
<div class="hits">271</div>
<div class="misses">44</div>
</div>
<table>
<thead>
<tr>
<th>Line</th>
<th>Lint</th>
<th>Hits</th>
<th>Source</th>
</tr>
</thead>
<tbody>
<tr id="mongo-store.js__1" class="hit">
<td class="line" data-tooltip>1</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">/* Copyright (c) 2010-2015 Richard Rodger, MIT License */</td>
</tr> <tr id="mongo-store.js__2" class="hit">
<td class="line" data-tooltip>2</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">'use strict'</td>
</tr> <tr id="mongo-store.js__3" class="hit">
<td class="line" data-tooltip>3</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__4" class="hit">
<td class="line" data-tooltip>4</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source">var _ = require('lodash')</td>
</tr> <tr id="mongo-store.js__5" class="hit">
<td class="line" data-tooltip>5</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source">var Mongo = require('mongodb')</td>
</tr> <tr id="mongo-store.js__6" class="hit">
<td class="line" data-tooltip>6</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source">var Dot = require('mongo-dot-notation')</td>
</tr> <tr id="mongo-store.js__7" class="hit">
<td class="line" data-tooltip>7</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source">var MongoClient = Mongo.MongoClient</td>
</tr> <tr id="mongo-store.js__8" class="hit">
<td class="line" data-tooltip>8</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source">var ObjectID = Mongo.ObjectID</td>
</tr> <tr id="mongo-store.js__9" class="hit">
<td class="line" data-tooltip>9</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__10" class="hit">
<td class="line" data-tooltip>10</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source">var name = 'mongo-store'</td>
</tr> <tr id="mongo-store.js__11" class="hit">
<td class="line" data-tooltip>11</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__12" class="hit">
<td class="line" data-tooltip>12</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">/*</td>
</tr> <tr id="mongo-store.js__13" class="hit">
<td class="line" data-tooltip>13</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">native$ = object => use object as query, no meta settings</td>
</tr> <tr id="mongo-store.js__14" class="hit">
<td class="line" data-tooltip>14</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">native$ = array => use first elem as query, second elem as meta settings</td>
</tr> <tr id="mongo-store.js__15" class="hit">
<td class="line" data-tooltip>15</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">*/</td>
</tr> <tr id="mongo-store.js__16" class="hit">
<td class="line" data-tooltip>16</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__17" class="hit">
<td class="line" data-tooltip>17</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">function idstr(obj) {</td>
</tr> <tr id="mongo-store.js__18" class="chunks">
<td class="line" data-tooltip>18</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> return </div><div class="miss true" data-tooltip>obj</div><div> && obj.toHexString ? obj.toHexString() : '' + obj</div></td>
</tr> <tr id="mongo-store.js__19" class="hit">
<td class="line" data-tooltip>19</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">}</td>
</tr> <tr id="mongo-store.js__20" class="hit">
<td class="line" data-tooltip>20</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__21" class="hit">
<td class="line" data-tooltip>21</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">function makeid(hexstr) {</td>
</tr> <tr id="mongo-store.js__22" class="chunks">
<td class="line" data-tooltip>22</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>_.isString(hexstr)</div><div> && 24 === hexstr.length) {</div></td>
</tr> <tr id="mongo-store.js__23" class="hit">
<td class="line" data-tooltip>23</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>8</td>
<td class="source"> try {</td>
</tr> <tr id="mongo-store.js__24" class="hit">
<td class="line" data-tooltip>24</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>8</td>
<td class="source"> return ObjectID.createFromHexString(hexstr)</td>
</tr> <tr id="mongo-store.js__25" class="hit">
<td class="line" data-tooltip>25</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } catch (e) {</td>
</tr> <tr id="mongo-store.js__26" class="miss">
<td class="line" data-tooltip>26</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> return hexstr</td>
</tr> <tr id="mongo-store.js__27" class="hit">
<td class="line" data-tooltip>27</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__28" class="hit">
<td class="line" data-tooltip>28</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__29" class="hit">
<td class="line" data-tooltip>29</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__30" class="hit">
<td class="line" data-tooltip>30</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>55</td>
<td class="source"> return hexstr</td>
</tr> <tr id="mongo-store.js__31" class="hit">
<td class="line" data-tooltip>31</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">}</td>
</tr> <tr id="mongo-store.js__32" class="hit">
<td class="line" data-tooltip>32</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__33" class="hit">
<td class="line" data-tooltip>33</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">function fixquery(qent, q) {</td>
</tr> <tr id="mongo-store.js__34" class="hit">
<td class="line" data-tooltip>34</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>191</td>
<td class="source"> var qq = {}</td>
</tr> <tr id="mongo-store.js__35" class="hit">
<td class="line" data-tooltip>35</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__36" class="hit">
<td class="line" data-tooltip>36</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>191</td>
<td class="source"> if (!q.native$) {</td>
</tr> <tr id="mongo-store.js__37" class="hit">
<td class="line" data-tooltip>37</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>190</td>
<td class="source"> if (_.isString(q)) {</td>
</tr> <tr id="mongo-store.js__38" class="hit">
<td class="line" data-tooltip>38</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source"> qq = {</td>
</tr> <tr id="mongo-store.js__39" class="hit">
<td class="line" data-tooltip>39</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> _id: makeid(q)</td>
</tr> <tr id="mongo-store.js__40" class="hit">
<td class="line" data-tooltip>40</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__41" class="hit">
<td class="line" data-tooltip>41</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>189</td>
<td class="source"> } else if (_.isArray(q)) {</td>
</tr> <tr id="mongo-store.js__42" class="hit">
<td class="line" data-tooltip>42</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>2</td>
<td class="source"> qq = {</td>
</tr> <tr id="mongo-store.js__43" class="hit">
<td class="line" data-tooltip>43</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> _id: {</td>
</tr> <tr id="mongo-store.js__44" class="hit">
<td class="line" data-tooltip>44</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> $in: q.map(id => {</td>
</tr> <tr id="mongo-store.js__45" class="hit">
<td class="line" data-tooltip>45</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> return makeid(id)</td>
</tr> <tr id="mongo-store.js__46" class="hit">
<td class="line" data-tooltip>46</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__47" class="hit">
<td class="line" data-tooltip>47</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__48" class="hit">
<td class="line" data-tooltip>48</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__49" class="hit">
<td class="line" data-tooltip>49</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } else {</td>
</tr> <tr id="mongo-store.js__50" class="hit">
<td class="line" data-tooltip>50</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>187</td>
<td class="source"> for (var qp in q) {</td>
</tr> <tr id="mongo-store.js__51" class="hit">
<td class="line" data-tooltip>51</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>216</td>
<td class="source"> if (!qp.match(/\$$/)) {</td>
</tr> <tr id="mongo-store.js__52" class="hit">
<td class="line" data-tooltip>52</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>37</td>
<td class="source"> qq[qp] = q[qp]</td>
</tr> <tr id="mongo-store.js__53" class="hit">
<td class="line" data-tooltip>53</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__54" class="hit">
<td class="line" data-tooltip>54</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__55" class="hit">
<td class="line" data-tooltip>55</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>187</td>
<td class="source"> if (qq.id) {</td>
</tr> <tr id="mongo-store.js__56" class="hit">
<td class="line" data-tooltip>56</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>18</td>
<td class="source"> qq._id = makeid(qq.id)</td>
</tr> <tr id="mongo-store.js__57" class="hit">
<td class="line" data-tooltip>57</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>18</td>
<td class="source"> delete qq.id</td>
</tr> <tr id="mongo-store.js__58" class="hit">
<td class="line" data-tooltip>58</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__59" class="hit">
<td class="line" data-tooltip>59</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__60" class="hit">
<td class="line" data-tooltip>60</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } else {</td>
</tr> <tr id="mongo-store.js__61" class="chunks">
<td class="line" data-tooltip>61</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> qq = </div><div class="miss true" data-tooltip>_.isArray(q.native$)</div><div> ? q.native$[0] : </div><div class="miss never" data-tooltip>q.native$</div></td>
</tr> <tr id="mongo-store.js__62" class="hit">
<td class="line" data-tooltip>62</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__63" class="hit">
<td class="line" data-tooltip>63</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__64" class="hit">
<td class="line" data-tooltip>64</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>191</td>
<td class="source"> return qq</td>
</tr> <tr id="mongo-store.js__65" class="hit">
<td class="line" data-tooltip>65</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">}</td>
</tr> <tr id="mongo-store.js__66" class="hit">
<td class="line" data-tooltip>66</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__67" class="hit">
<td class="line" data-tooltip>67</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">function metaquery(qent, q) {</td>
</tr> <tr id="mongo-store.js__68" class="hit">
<td class="line" data-tooltip>68</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>191</td>
<td class="source"> var mq = {}</td>
</tr> <tr id="mongo-store.js__69" class="hit">
<td class="line" data-tooltip>69</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__70" class="hit">
<td class="line" data-tooltip>70</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>191</td>
<td class="source"> if (!q.native$) {</td>
</tr> <tr id="mongo-store.js__71" class="hit">
<td class="line" data-tooltip>71</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>190</td>
<td class="source"> if (q.sort$) {</td>
</tr> <tr id="mongo-store.js__72" class="hit">
<td class="line" data-tooltip>72</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>66</td>
<td class="source"> for (var sf in q.sort$) break</td>
</tr> <tr id="mongo-store.js__73" class="hit">
<td class="line" data-tooltip>73</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>33</td>
<td class="source"> var sd = q.sort$[sf] < 0 ? 'descending' : 'ascending'</td>
</tr> <tr id="mongo-store.js__74" class="hit">
<td class="line" data-tooltip>74</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>33</td>
<td class="source"> mq.sort = [[sf, sd]]</td>
</tr> <tr id="mongo-store.js__75" class="hit">
<td class="line" data-tooltip>75</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__76" class="hit">
<td class="line" data-tooltip>76</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__77" class="hit">
<td class="line" data-tooltip>77</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>190</td>
<td class="source"> if (q.limit$) {</td>
</tr> <tr id="mongo-store.js__78" class="hit">
<td class="line" data-tooltip>78</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>18</td>
<td class="source"> mq.limit = q.limit$ >= 0 ? q.limit$ : 0</td>
</tr> <tr id="mongo-store.js__79" class="hit">
<td class="line" data-tooltip>79</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__80" class="hit">
<td class="line" data-tooltip>80</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__81" class="hit">
<td class="line" data-tooltip>81</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>190</td>
<td class="source"> if (q.skip$) {</td>
</tr> <tr id="mongo-store.js__82" class="hit">
<td class="line" data-tooltip>82</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>18</td>
<td class="source"> mq.skip = q.skip$ >= 0 ? q.skip$ : 0</td>
</tr> <tr id="mongo-store.js__83" class="hit">
<td class="line" data-tooltip>83</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__84" class="hit">
<td class="line" data-tooltip>84</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__85" class="chunks">
<td class="line" data-tooltip>85</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss false" data-tooltip>q.fields$</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__86" class="miss">
<td class="line" data-tooltip>86</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> mq.fields = q.fields$</td>
</tr> <tr id="mongo-store.js__87" class="hit">
<td class="line" data-tooltip>87</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__88" class="hit">
<td class="line" data-tooltip>88</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } else {</td>
</tr> <tr id="mongo-store.js__89" class="chunks">
<td class="line" data-tooltip>89</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> mq = </div><div class="miss true" data-tooltip>_.isArray(q.native$)</div><div> ? q.native$[1] : </div><div class="miss never" data-tooltip>mq</div></td>
</tr> <tr id="mongo-store.js__90" class="hit">
<td class="line" data-tooltip>90</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__91" class="hit">
<td class="line" data-tooltip>91</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__92" class="hit">
<td class="line" data-tooltip>92</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>191</td>
<td class="source"> return mq</td>
</tr> <tr id="mongo-store.js__93" class="hit">
<td class="line" data-tooltip>93</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">}</td>
</tr> <tr id="mongo-store.js__94" class="hit">
<td class="line" data-tooltip>94</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__95" class="hit">
<td class="line" data-tooltip>95</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source">module.exports = function(opts) {</td>
</tr> <tr id="mongo-store.js__96" class="hit">
<td class="line" data-tooltip>96</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> var seneca = this</td>
</tr> <tr id="mongo-store.js__97" class="hit">
<td class="line" data-tooltip>97</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> var desc</td>
</tr> <tr id="mongo-store.js__98" class="hit">
<td class="line" data-tooltip>98</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__99" class="hit">
<td class="line" data-tooltip>99</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> var dbinst = null</td>
</tr> <tr id="mongo-store.js__100" class="hit">
<td class="line" data-tooltip>100</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> var dbclient = null</td>
</tr> <tr id="mongo-store.js__101" class="hit">
<td class="line" data-tooltip>101</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> var collmap = {}</td>
</tr> <tr id="mongo-store.js__102" class="hit">
<td class="line" data-tooltip>102</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__103" class="hit">
<td class="line" data-tooltip>103</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> function error(args, err, cb) {</td>
</tr> <tr id="mongo-store.js__104" class="chunks">
<td class="line" data-tooltip>104</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss false" data-tooltip>err</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__105" class="miss">
<td class="line" data-tooltip>105</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> seneca.log.error('entity', err, { store: name })</td>
</tr> <tr id="mongo-store.js__106" class="miss">
<td class="line" data-tooltip>106</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> cb(err)</td>
</tr> <tr id="mongo-store.js__107" class="miss">
<td class="line" data-tooltip>107</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> return true</td>
</tr> <tr id="mongo-store.js__108" class="hit">
<td class="line" data-tooltip>108</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1033</td>
<td class="source"> } else return false</td>
</tr> <tr id="mongo-store.js__109" class="hit">
<td class="line" data-tooltip>109</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__110" class="hit">
<td class="line" data-tooltip>110</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__111" class="hit">
<td class="line" data-tooltip>111</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> function configure(conf, cb) {</td>
</tr> <tr id="mongo-store.js__112" class="hit">
<td class="line" data-tooltip>112</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> // defer connection</td>
</tr> <tr id="mongo-store.js__113" class="hit">
<td class="line" data-tooltip>113</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> // TODO: expose connection action</td>
</tr> <tr id="mongo-store.js__114" class="chunks">
<td class="line" data-tooltip>114</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss false" data-tooltip>!_.isUndefined(conf.connect)</div><div> && </div><div class="miss never" data-tooltip>!conf.connect</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__115" class="miss">
<td class="line" data-tooltip>115</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> return cb()</td>
</tr> <tr id="mongo-store.js__116" class="hit">
<td class="line" data-tooltip>116</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__117" class="hit">
<td class="line" data-tooltip>117</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__118" class="hit">
<td class="line" data-tooltip>118</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> // Turn the hash into a mongo uri</td>
</tr> <tr id="mongo-store.js__119" class="hit">
<td class="line" data-tooltip>119</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> if (!conf.uri) {</td>
</tr> <tr id="mongo-store.js__120" class="hit">
<td class="line" data-tooltip>120</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source"> conf.uri = 'mongodb://'</td>
</tr> <tr id="mongo-store.js__121" class="chunks">
<td class="line" data-tooltip>121</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> conf.uri += </div><div class="miss false" data-tooltip>conf.username</div><div> ? </div><div class="miss never" data-tooltip>conf.username</div><div> : ''</div></td>
</tr> <tr id="mongo-store.js__122" class="chunks">
<td class="line" data-tooltip>122</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> conf.uri += </div><div class="miss false" data-tooltip>conf.password</div><div> ? </div><div class="miss never" data-tooltip>':' + conf.password + '@'</div><div> : ''</div></td>
</tr> <tr id="mongo-store.js__123" class="chunks">
<td class="line" data-tooltip>123</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> conf.uri += </div><div class="miss true" data-tooltip>conf.host</div><div> || </div><div class="miss never" data-tooltip>conf.server</div></td>
</tr> <tr id="mongo-store.js__124" class="chunks">
<td class="line" data-tooltip>124</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> conf.uri += </div><div class="miss true" data-tooltip>conf.port</div><div> ? ':' + conf.port : </div><div class="miss never" data-tooltip>':27017'</div></td>
</tr> <tr id="mongo-store.js__125" class="hit">
<td class="line" data-tooltip>125</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__126" class="hit">
<td class="line" data-tooltip>126</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__127" class="hit">
<td class="line" data-tooltip>127</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> conf.db = conf.db || conf.name</td>
</tr> <tr id="mongo-store.js__128" class="hit">
<td class="line" data-tooltip>128</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__129" class="hit">
<td class="line" data-tooltip>129</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> // Connect using the URI</td>
</tr> <tr id="mongo-store.js__130" class="hit">
<td class="line" data-tooltip>130</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> MongoClient.connect(conf.uri, function(err, client) {</td>
</tr> <tr id="mongo-store.js__131" class="chunks">
<td class="line" data-tooltip>131</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss false" data-tooltip>err</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__132" class="miss">
<td class="line" data-tooltip>132</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> return seneca.die('connect', err, conf)</td>
</tr> <tr id="mongo-store.js__133" class="hit">
<td class="line" data-tooltip>133</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__134" class="hit">
<td class="line" data-tooltip>134</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> dbclient = client</td>
</tr> <tr id="mongo-store.js__135" class="hit">
<td class="line" data-tooltip>135</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> // Set the instance to use throughout the plugin</td>
</tr> <tr id="mongo-store.js__136" class="hit">
<td class="line" data-tooltip>136</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> dbinst = client.db(conf.db)</td>
</tr> <tr id="mongo-store.js__137" class="hit">
<td class="line" data-tooltip>137</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> seneca.log.debug('init', 'db open', conf.db)</td>
</tr> <tr id="mongo-store.js__138" class="hit">
<td class="line" data-tooltip>138</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> cb(null)</td>
</tr> <tr id="mongo-store.js__139" class="hit">
<td class="line" data-tooltip>139</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__140" class="hit">
<td class="line" data-tooltip>140</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__141" class="hit">
<td class="line" data-tooltip>141</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__142" class="hit">
<td class="line" data-tooltip>142</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> function getcoll(args, ent, cb) {</td>
</tr> <tr id="mongo-store.js__143" class="hit">
<td class="line" data-tooltip>143</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>336</td>
<td class="source"> var canon = ent.canon$({ object: true })</td>
</tr> <tr id="mongo-store.js__144" class="hit">
<td class="line" data-tooltip>144</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__145" class="hit">
<td class="line" data-tooltip>145</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>336</td>
<td class="source"> var collname = (canon.base ? canon.base + '_' : '') + canon.name</td>
</tr> <tr id="mongo-store.js__146" class="hit">
<td class="line" data-tooltip>146</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__147" class="hit">
<td class="line" data-tooltip>147</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>336</td>
<td class="source"> if (!collmap[collname]) {</td>
</tr> <tr id="mongo-store.js__148" class="hit">
<td class="line" data-tooltip>148</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> dbinst.collection(collname, function(err, coll) {</td>
</tr> <tr id="mongo-store.js__149" class="chunks">
<td class="line" data-tooltip>149</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__150" class="hit">
<td class="line" data-tooltip>150</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> collmap[collname] = coll</td>
</tr> <tr id="mongo-store.js__151" class="hit">
<td class="line" data-tooltip>151</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> cb(null, coll)</td>
</tr> <tr id="mongo-store.js__152" class="hit">
<td class="line" data-tooltip>152</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__153" class="hit">
<td class="line" data-tooltip>153</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__154" class="hit">
<td class="line" data-tooltip>154</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } else {</td>
</tr> <tr id="mongo-store.js__155" class="hit">
<td class="line" data-tooltip>155</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>329</td>
<td class="source"> cb(null, collmap[collname])</td>
</tr> <tr id="mongo-store.js__156" class="hit">
<td class="line" data-tooltip>156</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__157" class="hit">
<td class="line" data-tooltip>157</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__158" class="hit">
<td class="line" data-tooltip>158</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__159" class="hit">
<td class="line" data-tooltip>159</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> var store = {</td>
</tr> <tr id="mongo-store.js__160" class="hit">
<td class="line" data-tooltip>160</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> name: name,</td>
</tr> <tr id="mongo-store.js__161" class="hit">
<td class="line" data-tooltip>161</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__162" class="hit">
<td class="line" data-tooltip>162</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> close: function(args, cb) {</td>
</tr> <tr id="mongo-store.js__163" class="chunks">
<td class="line" data-tooltip>163</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> </div><div class="miss never" data-tooltip>if (dbclient) {</div></td>
</tr> <tr id="mongo-store.js__164" class="miss">
<td class="line" data-tooltip>164</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> dbclient.close(cb)</td>
</tr> <tr id="mongo-store.js__165" class="miss">
<td class="line" data-tooltip>165</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> } else return cb()</td>
</tr> <tr id="mongo-store.js__166" class="hit">
<td class="line" data-tooltip>166</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> },</td>
</tr> <tr id="mongo-store.js__167" class="hit">
<td class="line" data-tooltip>167</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__168" class="hit">
<td class="line" data-tooltip>168</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> save: function(args, cb) {</td>
</tr> <tr id="mongo-store.js__169" class="hit">
<td class="line" data-tooltip>169</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> var ent = args.ent</td>
</tr> <tr id="mongo-store.js__170" class="hit">
<td class="line" data-tooltip>170</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__171" class="hit">
<td class="line" data-tooltip>171</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>145</td>
<td class="source"> var update = !!ent.id</td>
</tr> <tr id="mongo-store.js__172" class="hit">
<td class="line" data-tooltip>172</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__173" class="hit">
<td class="line" data-tooltip>173</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>145</td>
<td class="source"> getcoll(args, ent, function(err, coll) {</td>
</tr> <tr id="mongo-store.js__174" class="chunks">
<td class="line" data-tooltip>174</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__175" class="hit">
<td class="line" data-tooltip>175</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>145</td>
<td class="source"> var entp = {}</td>
</tr> <tr id="mongo-store.js__176" class="hit">
<td class="line" data-tooltip>176</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__177" class="hit">
<td class="line" data-tooltip>177</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>145</td>
<td class="source"> var fields = ent.fields$()</td>
</tr> <tr id="mongo-store.js__178" class="hit">
<td class="line" data-tooltip>178</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>145</td>
<td class="source"> fields.forEach(function(field) {</td>
</tr> <tr id="mongo-store.js__179" class="hit">
<td class="line" data-tooltip>179</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> entp[field] = ent[field]</td>
</tr> <tr id="mongo-store.js__180" class="hit">
<td class="line" data-tooltip>180</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__181" class="hit">
<td class="line" data-tooltip>181</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__182" class="hit">
<td class="line" data-tooltip>182</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>145</td>
<td class="source"> if (!update && void 0 !== ent.id$) {</td>
</tr> <tr id="mongo-store.js__183" class="hit">
<td class="line" data-tooltip>183</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>34</td>
<td class="source"> entp._id = makeid(ent.id$)</td>
</tr> <tr id="mongo-store.js__184" class="hit">
<td class="line" data-tooltip>184</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__185" class="hit">
<td class="line" data-tooltip>185</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__186" class="hit">
<td class="line" data-tooltip>186</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>145</td>
<td class="source"> if (update) {</td>
</tr> <tr id="mongo-store.js__187" class="hit">
<td class="line" data-tooltip>187</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> var q = { _id: makeid(ent.id) }</td>
</tr> <tr id="mongo-store.js__188" class="hit">
<td class="line" data-tooltip>188</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> delete entp.id</td>
</tr> <tr id="mongo-store.js__189" class="hit">
<td class="line" data-tooltip>189</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__190" class="hit">
<td class="line" data-tooltip>190</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> var shouldMerge = true</td>
</tr> <tr id="mongo-store.js__191" class="hit">
<td class="line" data-tooltip>191</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> if (opts.merge !== false && ent.merge$ === false) {</td>
</tr> <tr id="mongo-store.js__192" class="hit">
<td class="line" data-tooltip>192</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source"> shouldMerge = false</td>
</tr> <tr id="mongo-store.js__193" class="hit">
<td class="line" data-tooltip>193</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__194" class="hit">
<td class="line" data-tooltip>194</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> if (opts.merge === false && ent.merge$ !== true) {</td>
</tr> <tr id="mongo-store.js__195" class="hit">
<td class="line" data-tooltip>195</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source"> shouldMerge = false</td>
</tr> <tr id="mongo-store.js__196" class="hit">
<td class="line" data-tooltip>196</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__197" class="hit">
<td class="line" data-tooltip>197</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__198" class="hit">
<td class="line" data-tooltip>198</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> var set = entp</td>
</tr> <tr id="mongo-store.js__199" class="hit">
<td class="line" data-tooltip>199</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> var func = 'replaceOne'</td>
</tr> <tr id="mongo-store.js__200" class="hit">
<td class="line" data-tooltip>200</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__201" class="hit">
<td class="line" data-tooltip>201</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> if (shouldMerge) {</td>
</tr> <tr id="mongo-store.js__202" class="hit">
<td class="line" data-tooltip>202</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>5</td>
<td class="source"> set = Dot.flatten(entp)</td>
</tr> <tr id="mongo-store.js__203" class="hit">
<td class="line" data-tooltip>203</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>5</td>
<td class="source"> func = 'updateOne'</td>
</tr> <tr id="mongo-store.js__204" class="hit">
<td class="line" data-tooltip>204</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__205" class="hit">
<td class="line" data-tooltip>205</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__206" class="hit">
<td class="line" data-tooltip>206</td>
<td class="lint">
<span class="errors" data-tooltip="no-unused-vars - 'update' is defined but never used."></span>
</td>
<td class="hits" data-tooltip>7</td>
<td class="source"> coll[func](q, set, { upsert: true }, function(err, update) {</td>
</tr> <tr id="mongo-store.js__207" class="chunks">
<td class="line" data-tooltip>207</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__208" class="hit">
<td class="line" data-tooltip>208</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> seneca.log.debug('save/update', ent, desc)</td>
</tr> <tr id="mongo-store.js__209" class="hit">
<td class="line" data-tooltip>209</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> coll.findOne(q, {}, function(err, entu) {</td>
</tr> <tr id="mongo-store.js__210" class="chunks">
<td class="line" data-tooltip>210</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__211" class="hit">
<td class="line" data-tooltip>211</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> var fent = null</td>
</tr> <tr id="mongo-store.js__212" class="chunks">
<td class="line" data-tooltip>212</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>entu</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__213" class="hit">
<td class="line" data-tooltip>213</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> entu.id = idstr(entu._id)</td>
</tr> <tr id="mongo-store.js__214" class="hit">
<td class="line" data-tooltip>214</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> delete entu._id</td>
</tr> <tr id="mongo-store.js__215" class="hit">
<td class="line" data-tooltip>215</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> fent = ent.make$(entu)</td>
</tr> <tr id="mongo-store.js__216" class="hit">
<td class="line" data-tooltip>216</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__217" class="hit">
<td class="line" data-tooltip>217</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>7</td>
<td class="source"> cb(null, fent)</td>
</tr> <tr id="mongo-store.js__218" class="hit">
<td class="line" data-tooltip>218</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__219" class="hit">
<td class="line" data-tooltip>219</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__220" class="hit">
<td class="line" data-tooltip>220</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__221" class="hit">
<td class="line" data-tooltip>221</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__222" class="hit">
<td class="line" data-tooltip>222</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } else {</td>
</tr> <tr id="mongo-store.js__223" class="hit">
<td class="line" data-tooltip>223</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>138</td>
<td class="source"> coll.insertOne(entp, function(err, inserts) {</td>
</tr> <tr id="mongo-store.js__224" class="chunks">
<td class="line" data-tooltip>224</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__225" class="hit">
<td class="line" data-tooltip>225</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>138</td>
<td class="source"> ent.id = idstr(inserts.ops[0]._id)</td>
</tr> <tr id="mongo-store.js__226" class="hit">
<td class="line" data-tooltip>226</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>138</td>
<td class="source"> seneca.log.debug('save/insert', ent, desc)</td>
</tr> <tr id="mongo-store.js__227" class="hit">
<td class="line" data-tooltip>227</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>138</td>
<td class="source"> cb(null, _.cloneDeep(ent))</td>
</tr> <tr id="mongo-store.js__228" class="hit">
<td class="line" data-tooltip>228</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__229" class="hit">
<td class="line" data-tooltip>229</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__230" class="hit">
<td class="line" data-tooltip>230</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__231" class="hit">
<td class="line" data-tooltip>231</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__232" class="hit">
<td class="line" data-tooltip>232</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__233" class="hit">
<td class="line" data-tooltip>233</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> },</td>
</tr> <tr id="mongo-store.js__234" class="hit">
<td class="line" data-tooltip>234</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__235" class="hit">
<td class="line" data-tooltip>235</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> load: function(args, cb) {</td>
</tr> <tr id="mongo-store.js__236" class="hit">
<td class="line" data-tooltip>236</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> var qent = args.qent</td>
</tr> <tr id="mongo-store.js__237" class="hit">
<td class="line" data-tooltip>237</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>29</td>
<td class="source"> var q = args.q</td>
</tr> <tr id="mongo-store.js__238" class="hit">
<td class="line" data-tooltip>238</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__239" class="hit">
<td class="line" data-tooltip>239</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>29</td>
<td class="source"> getcoll(args, qent, function(err, coll) {</td>
</tr> <tr id="mongo-store.js__240" class="chunks">
<td class="line" data-tooltip>240</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__241" class="hit">
<td class="line" data-tooltip>241</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>29</td>
<td class="source"> var mq = metaquery(qent, q)</td>
</tr> <tr id="mongo-store.js__242" class="hit">
<td class="line" data-tooltip>242</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>29</td>
<td class="source"> var qq = fixquery(qent, q)</td>
</tr> <tr id="mongo-store.js__243" class="hit">
<td class="line" data-tooltip>243</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__244" class="hit">
<td class="line" data-tooltip>244</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>29</td>
<td class="source"> coll.findOne(qq, mq, function(err, entp) {</td>
</tr> <tr id="mongo-store.js__245" class="chunks">
<td class="line" data-tooltip>245</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__246" class="hit">
<td class="line" data-tooltip>246</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>29</td>
<td class="source"> var fent = null</td>
</tr> <tr id="mongo-store.js__247" class="hit">
<td class="line" data-tooltip>247</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>29</td>
<td class="source"> if (entp) {</td>
</tr> <tr id="mongo-store.js__248" class="hit">
<td class="line" data-tooltip>248</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>26</td>
<td class="source"> entp.id = idstr(entp._id)</td>
</tr> <tr id="mongo-store.js__249" class="hit">
<td class="line" data-tooltip>249</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>26</td>
<td class="source"> delete entp._id</td>
</tr> <tr id="mongo-store.js__250" class="hit">
<td class="line" data-tooltip>250</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>26</td>
<td class="source"> fent = qent.make$(entp)</td>
</tr> <tr id="mongo-store.js__251" class="hit">
<td class="line" data-tooltip>251</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__252" class="hit">
<td class="line" data-tooltip>252</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>29</td>
<td class="source"> seneca.log.debug('load', q, fent, desc)</td>
</tr> <tr id="mongo-store.js__253" class="hit">
<td class="line" data-tooltip>253</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>29</td>
<td class="source"> cb(null, fent)</td>
</tr> <tr id="mongo-store.js__254" class="hit">
<td class="line" data-tooltip>254</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__255" class="hit">
<td class="line" data-tooltip>255</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__256" class="hit">
<td class="line" data-tooltip>256</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__257" class="hit">
<td class="line" data-tooltip>257</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__258" class="hit">
<td class="line" data-tooltip>258</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> },</td>
</tr> <tr id="mongo-store.js__259" class="hit">
<td class="line" data-tooltip>259</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__260" class="hit">
<td class="line" data-tooltip>260</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> list: function(args, cb) {</td>
</tr> <tr id="mongo-store.js__261" class="hit">
<td class="line" data-tooltip>261</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> var qent = args.qent</td>
</tr> <tr id="mongo-store.js__262" class="hit">
<td class="line" data-tooltip>262</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>42</td>
<td class="source"> var q = args.q</td>
</tr> <tr id="mongo-store.js__263" class="hit">
<td class="line" data-tooltip>263</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__264" class="hit">
<td class="line" data-tooltip>264</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>42</td>
<td class="source"> getcoll(args, qent, function(err, coll) {</td>
</tr> <tr id="mongo-store.js__265" class="chunks">
<td class="line" data-tooltip>265</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__266" class="hit">
<td class="line" data-tooltip>266</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>42</td>
<td class="source"> var mq = metaquery(qent, q)</td>
</tr> <tr id="mongo-store.js__267" class="hit">
<td class="line" data-tooltip>267</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>42</td>
<td class="source"> var qq = fixquery(qent, q)</td>
</tr> <tr id="mongo-store.js__268" class="hit">
<td class="line" data-tooltip>268</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__269" class="hit">
<td class="line" data-tooltip>269</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>42</td>
<td class="source"> coll.find(qq, mq, function(err, cur) {</td>
</tr> <tr id="mongo-store.js__270" class="chunks">
<td class="line" data-tooltip>270</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__271" class="hit">
<td class="line" data-tooltip>271</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>42</td>
<td class="source"> var list = []</td>
</tr> <tr id="mongo-store.js__272" class="hit">
<td class="line" data-tooltip>272</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__273" class="hit">
<td class="line" data-tooltip>273</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>42</td>
<td class="source"> cur.each(function(err, entp) {</td>
</tr> <tr id="mongo-store.js__274" class="chunks">
<td class="line" data-tooltip>274</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__275" class="hit">
<td class="line" data-tooltip>275</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>107</td>
<td class="source"> if (entp) {</td>
</tr> <tr id="mongo-store.js__276" class="hit">
<td class="line" data-tooltip>276</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>65</td>
<td class="source"> var fent = null</td>
</tr> <tr id="mongo-store.js__277" class="hit">
<td class="line" data-tooltip>277</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>65</td>
<td class="source"> entp.id = idstr(entp._id)</td>
</tr> <tr id="mongo-store.js__278" class="hit">
<td class="line" data-tooltip>278</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>65</td>
<td class="source"> delete entp._id</td>
</tr> <tr id="mongo-store.js__279" class="hit">
<td class="line" data-tooltip>279</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>65</td>
<td class="source"> fent = qent.make$(entp)</td>
</tr> <tr id="mongo-store.js__280" class="hit">
<td class="line" data-tooltip>280</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>65</td>
<td class="source"> list.push(fent)</td>
</tr> <tr id="mongo-store.js__281" class="hit">
<td class="line" data-tooltip>281</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } else {</td>
</tr> <tr id="mongo-store.js__282" class="hit">
<td class="line" data-tooltip>282</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>42</td>
<td class="source"> seneca.log.debug('list', q, list.length, list[0], desc)</td>
</tr> <tr id="mongo-store.js__283" class="hit">
<td class="line" data-tooltip>283</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>42</td>
<td class="source"> cb(null, list)</td>
</tr> <tr id="mongo-store.js__284" class="hit">
<td class="line" data-tooltip>284</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__285" class="hit">
<td class="line" data-tooltip>285</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__286" class="hit">
<td class="line" data-tooltip>286</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__287" class="hit">
<td class="line" data-tooltip>287</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__288" class="hit">
<td class="line" data-tooltip>288</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__289" class="hit">
<td class="line" data-tooltip>289</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__290" class="hit">
<td class="line" data-tooltip>290</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__291" class="hit">
<td class="line" data-tooltip>291</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> },</td>
</tr> <tr id="mongo-store.js__292" class="hit">
<td class="line" data-tooltip>292</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__293" class="hit">
<td class="line" data-tooltip>293</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> remove: function(args, cb) {</td>
</tr> <tr id="mongo-store.js__294" class="hit">
<td class="line" data-tooltip>294</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> var qent = args.qent</td>
</tr> <tr id="mongo-store.js__295" class="hit">
<td class="line" data-tooltip>295</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>120</td>
<td class="source"> var q = args.q</td>
</tr> <tr id="mongo-store.js__296" class="hit">
<td class="line" data-tooltip>296</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__297" class="hit">
<td class="line" data-tooltip>297</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>120</td>
<td class="source"> var all = q.all$ // default false</td>
</tr> <tr id="mongo-store.js__298" class="hit">
<td class="line" data-tooltip>298</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>120</td>
<td class="source"> var load = _.isUndefined(q.load$) ? false : q.load$ // default false</td>
</tr> <tr id="mongo-store.js__299" class="hit">
<td class="line" data-tooltip>299</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__300" class="hit">
<td class="line" data-tooltip>300</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>120</td>
<td class="source"> getcoll(args, qent, function(err, coll) {</td>
</tr> <tr id="mongo-store.js__301" class="chunks">
<td class="line" data-tooltip>301</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__302" class="hit">
<td class="line" data-tooltip>302</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>120</td>
<td class="source"> var qq = fixquery(qent, q)</td>
</tr> <tr id="mongo-store.js__303" class="hit">
<td class="line" data-tooltip>303</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>120</td>
<td class="source"> var mq = metaquery(qent, q)</td>
</tr> <tr id="mongo-store.js__304" class="hit">
<td class="line" data-tooltip>304</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__305" class="hit">
<td class="line" data-tooltip>305</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>120</td>
<td class="source"> if (all) {</td>
</tr> <tr id="mongo-store.js__306" class="hit">
<td class="line" data-tooltip>306</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>108</td>
<td class="source"> coll.find(qq, mq, function(err, cur) {</td>
</tr> <tr id="mongo-store.js__307" class="chunks">
<td class="line" data-tooltip>307</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__308" class="hit">
<td class="line" data-tooltip>308</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>108</td>
<td class="source"> var list = []</td>
</tr> <tr id="mongo-store.js__309" class="hit">
<td class="line" data-tooltip>309</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>108</td>
<td class="source"> var toDelete = []</td>
</tr> <tr id="mongo-store.js__310" class="hit">
<td class="line" data-tooltip>310</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__311" class="hit">
<td class="line" data-tooltip>311</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>108</td>
<td class="source"> cur.each(function(err, entp) {</td>
</tr> <tr id="mongo-store.js__312" class="chunks">
<td class="line" data-tooltip>312</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__313" class="hit">
<td class="line" data-tooltip>313</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>236</td>
<td class="source"> if (entp) {</td>
</tr> <tr id="mongo-store.js__314" class="hit">
<td class="line" data-tooltip>314</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>128</td>
<td class="source"> var fent = null</td>
</tr> <tr id="mongo-store.js__315" class="chunks">
<td class="line" data-tooltip>315</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>entp</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__316" class="hit">
<td class="line" data-tooltip>316</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>128</td>
<td class="source"> toDelete.push(entp._id)</td>
</tr> <tr id="mongo-store.js__317" class="hit">
<td class="line" data-tooltip>317</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>128</td>
<td class="source"> entp.id = idstr(entp._id)</td>
</tr> <tr id="mongo-store.js__318" class="hit">
<td class="line" data-tooltip>318</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>128</td>
<td class="source"> delete entp._id</td>
</tr> <tr id="mongo-store.js__319" class="hit">
<td class="line" data-tooltip>319</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>128</td>
<td class="source"> fent = qent.make$(entp)</td>
</tr> <tr id="mongo-store.js__320" class="hit">
<td class="line" data-tooltip>320</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__321" class="hit">
<td class="line" data-tooltip>321</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>128</td>
<td class="source"> list.push(fent)</td>
</tr> <tr id="mongo-store.js__322" class="hit">
<td class="line" data-tooltip>322</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } else {</td>
</tr> <tr id="mongo-store.js__323" class="hit">
<td class="line" data-tooltip>323</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>108</td>
<td class="source"> coll.remove({ _id: { $in: toDelete } }, function(err) {</td>
</tr> <tr id="mongo-store.js__324" class="hit">
<td class="line" data-tooltip>324</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> seneca.log.debug('remove/all', q, desc)</td>
</tr> <tr id="mongo-store.js__325" class="hit">
<td class="line" data-tooltip>325</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>108</td>
<td class="source"> cb(err, null)</td>
</tr> <tr id="mongo-store.js__326" class="hit">
<td class="line" data-tooltip>326</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__327" class="hit">
<td class="line" data-tooltip>327</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__328" class="hit">
<td class="line" data-tooltip>328</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__329" class="hit">
<td class="line" data-tooltip>329</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__330" class="hit">
<td class="line" data-tooltip>330</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__331" class="hit">
<td class="line" data-tooltip>331</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__332" class="hit">
<td class="line" data-tooltip>332</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } else {</td>
</tr> <tr id="mongo-store.js__333" class="hit">
<td class="line" data-tooltip>333</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>12</td>
<td class="source"> coll.findOne(qq, mq, function(err, entp) {</td>
</tr> <tr id="mongo-store.js__334" class="chunks">
<td class="line" data-tooltip>334</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, cb)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__335" class="hit">
<td class="line" data-tooltip>335</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>12</td>
<td class="source"> if (entp) {</td>
</tr> <tr id="mongo-store.js__336" class="hit">
<td class="line" data-tooltip>336</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>11</td>
<td class="source"> coll.deleteOne({ _id: entp._id }, {}, function(err) {</td>
</tr> <tr id="mongo-store.js__337" class="hit">
<td class="line" data-tooltip>337</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> seneca.log.debug('remove/one', q, entp, desc)</td>
</tr> <tr id="mongo-store.js__338" class="hit">
<td class="line" data-tooltip>338</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>11</td>
<td class="source"> var ent = load ? entp : null</td>
</tr> <tr id="mongo-store.js__339" class="hit">
<td class="line" data-tooltip>339</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>11</td>
<td class="source"> cb(err, ent)</td>
</tr> <tr id="mongo-store.js__340" class="hit">
<td class="line" data-tooltip>340</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__341" class="hit">
<td class="line" data-tooltip>341</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>1</td>
<td class="source"> } else cb(null)</td>
</tr> <tr id="mongo-store.js__342" class="hit">
<td class="line" data-tooltip>342</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__343" class="hit">
<td class="line" data-tooltip>343</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__344" class="hit">
<td class="line" data-tooltip>344</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__345" class="hit">
<td class="line" data-tooltip>345</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__346" class="hit">
<td class="line" data-tooltip>346</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__347" class="hit">
<td class="line" data-tooltip>347</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> },</td>
</tr> <tr id="mongo-store.js__348" class="hit">
<td class="line" data-tooltip>348</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__349" class="hit">
<td class="line" data-tooltip>349</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> native: function(args, done) {</td>
</tr> <tr id="mongo-store.js__350" class="hit">
<td class="line" data-tooltip>350</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> dbinst.collection('seneca', function(err, coll) {</td>
</tr> <tr id="mongo-store.js__351" class="chunks">
<td class="line" data-tooltip>351</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, done)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__352" class="hit">
<td class="line" data-tooltip>352</td>
<td class="lint">
<span class="errors" data-tooltip="no-unused-vars - 'entp' is defined but never used."></span>
</td>
<td class="hits" data-tooltip>2</td>
<td class="source"> coll.findOne({}, {}, function(err, entp) {</td>
</tr> <tr id="mongo-store.js__353" class="chunks">
<td class="line" data-tooltip>353</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss true" data-tooltip>!error(args, err, done)</div><div>) {</div></td>
</tr> <tr id="mongo-store.js__354" class="hit">
<td class="line" data-tooltip>354</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>2</td>
<td class="source"> done(null, dbinst)</td>
</tr> <tr id="mongo-store.js__355" class="hit">
<td class="line" data-tooltip>355</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } else {</td>
</tr> <tr id="mongo-store.js__356" class="miss">
<td class="line" data-tooltip>356</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> done(err)</td>
</tr> <tr id="mongo-store.js__357" class="hit">
<td class="line" data-tooltip>357</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__358" class="hit">
<td class="line" data-tooltip>358</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__359" class="hit">
<td class="line" data-tooltip>359</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> } else {</td>
</tr> <tr id="mongo-store.js__360" class="miss">
<td class="line" data-tooltip>360</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> done(err)</td>
</tr> <tr id="mongo-store.js__361" class="hit">
<td class="line" data-tooltip>361</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__362" class="hit">
<td class="line" data-tooltip>362</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__363" class="hit">
<td class="line" data-tooltip>363</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__364" class="hit">
<td class="line" data-tooltip>364</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> }</td>
</tr> <tr id="mongo-store.js__365" class="hit">
<td class="line" data-tooltip>365</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__366" class="hit">
<td class="line" data-tooltip>366</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> var meta = seneca.store.init(seneca, opts, store)</td>
</tr> <tr id="mongo-store.js__367" class="hit">
<td class="line" data-tooltip>367</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> desc = meta.desc</td>
</tr> <tr id="mongo-store.js__368" class="hit">
<td class="line" data-tooltip>368</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__369" class="hit">
<td class="line" data-tooltip>369</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> seneca.add({ init: store.name, tag: meta.tag }, function(args, done) {</td>
</tr> <tr id="mongo-store.js__370" class="hit">
<td class="line" data-tooltip>370</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> configure(opts, function(err) {</td>
</tr> <tr id="mongo-store.js__371" class="chunks">
<td class="line" data-tooltip>371</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"><div> if (</div><div class="miss false" data-tooltip>err</div><div>)</div></td>
</tr> <tr id="mongo-store.js__372" class="miss">
<td class="line" data-tooltip>372</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source" data-tooltip> return seneca.die('store', err, { store: store.name, desc: desc })</td>
</tr> <tr id="mongo-store.js__373" class="hit">
<td class="line" data-tooltip>373</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> return done()</td>
</tr> <tr id="mongo-store.js__374" class="hit">
<td class="line" data-tooltip>374</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__375" class="hit">
<td class="line" data-tooltip>375</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"> })</td>
</tr> <tr id="mongo-store.js__376" class="hit">
<td class="line" data-tooltip>376</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> <tr id="mongo-store.js__377" class="hit">
<td class="line" data-tooltip>377</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip>3</td>
<td class="source"> return { name: store.name, tag: meta.tag }</td>
</tr> <tr id="mongo-store.js__378" class="hit">
<td class="line" data-tooltip>378</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source">}</td>
</tr> <tr id="mongo-store.js__379" class="hit">
<td class="line" data-tooltip>379</td>
<td class="lint empty"></td>
<td class="hits" data-tooltip></td>
<td class="source"></td>
</tr> </tbody>
</table>
</div>
</div>
</div> <div id="linting">
<h1>Linting Report</h1>
<div class="lint-stats">
<span class="lint-errors low">2</span>
<span class="lint-warnings high">0</span>
</div>
<div class="lint-files">
<div class="lint-file">
<h2 id="lint-mongo-store.js">mongo-store.js</h2>
<ul>
<li class="lint-entry">L206 - <span class="level-ERROR">ERROR</span> - no-unused-vars - 'update' is defined but never used.</li>
<li class="lint-entry">L352 - <span class="level-ERROR">ERROR</span> - no-unused-vars - 'entp' is defined but never used.</li>
</ul>
</div> </div>
</div> </body>
</html>