UNPKG

iridium

Version:

A custom lightweight ORM for MongoDB designed for power-users

214 lines (212 loc) 7.09 kB
<!doctype html> <html lang="en"> <head> <title>Code coverage report for dist\lib\ModelHandlers.js</title> <meta charset="utf-8"> <link rel="stylesheet" href="../../prettify.css"> <link rel="stylesheet" href="../../base.css"> <style type='text/css'> div.coverage-summary .sorter { background-image: url(../../sort-arrow-sprite.png); } </style> </head> <body> <div class="header high"> <h1>Code coverage report for <span class="entity">dist\lib\ModelHandlers.js</span></h1> <h2> Statements: <span class="metric">100% <small>(39 / 39)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Branches: <span class="metric">100% <small>(19 / 19)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Functions: <span class="metric">100% <small>(10 / 10)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Lines: <span class="metric">100% <small>(38 / 38)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Ignored: <span class="metric"><span class="ignore-none">none</span></span> &nbsp;&nbsp;&nbsp;&nbsp; </h2> <div class="path"><a href="../../index.html">All files</a> &#187; <a href="index.html">dist/lib/</a> &#187; ModelHandlers.js</div> </div> <div class="body"> <pre><table class="coverage"> <tr><td class="line-count">1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57</td><td class="line-coverage"><span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">31</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">412</span> <span class="cline-any cline-yes">412</span> <span class="cline-any cline-yes">412</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">412</span> <span class="cline-any cline-yes">412</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">412</span> <span class="cline-any cline-yes">410</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">412</span> <span class="cline-any cline-yes">35</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">412</span> <span class="cline-any cline-yes">412</span> <span class="cline-any cline-yes">35</span> <span class="cline-any cline-yes">412</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">116</span> <span class="cline-any cline-yes">116</span> <span class="cline-any cline-yes">228</span> <span class="cline-any cline-yes">228</span> <span class="cline-any cline-yes">19</span> <span class="cline-any cline-yes">228</span> <span class="cline-any cline-yes">228</span> <span class="cline-any cline-yes">228</span> <span class="cline-any cline-yes">8</span> <span class="cline-any cline-yes">220</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">16</span> <span class="cline-any cline-yes">16</span> <span class="cline-any cline-yes">16</span> <span class="cline-any cline-yes">4</span> <span class="cline-any cline-yes">16</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">var _ = require('lodash'); var Bluebird = require('bluebird'); var ModelHandlers = (function () { function ModelHandlers(model) { this.model = model; } ModelHandlers.prototype.documentReceived = function (conditions, result, wrapper, options) { var _this = this; if (options === void 0) { options = {}; } _.defaults(options, { cache: true, partial: false }); return Bluebird.resolve(result).then(function (target) { return Bluebird.resolve().then(function () { // Cache the document if caching is enabled if (_this.model.core.cache &amp;&amp; options.cache &amp;&amp; !options.fields) { _this.model.cache.set(target); // Does not block execution pipeline - fire and forget } // Trigger the received hook if (_this.model.hooks.onRetrieved) _this.model.hooks.onRetrieved(target); // Wrap the document and trigger the ready hook var wrapped = wrapper(target, false, !!options.fields); if (_this.model.hooks.onReady &amp;&amp; wrapped instanceof _this.model.Instance) _this.model.hooks.onReady(wrapped); return wrapped; }); }); }; ModelHandlers.prototype.creatingDocuments = function (documents) { var _this = this; return Bluebird.all(documents.map(function (document) { return Bluebird.resolve().then(function () { if (_this.model.hooks.onCreating) _this.model.hooks.onCreating(document); document = _this.model.helpers.convertToDB(document); var validation = _this.model.helpers.validate(document); if (validation.failed) return Bluebird.reject(validation.error); return document; }); })); }; ModelHandlers.prototype.savingDocument = function (instance, changes) { var _this = this; return Bluebird.resolve().then(function () { if (_this.model.hooks.onSaving) _this.model.hooks.onSaving(instance, changes); return instance; }); }; return ModelHandlers; })(); exports.default = ModelHandlers; &nbsp; //# sourceMappingURL=../lib/ModelHandlers.js.map</pre></td></tr> </table></pre> </div> <div class="footer"> <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Thu Jun 18 2015 15:09:28 GMT+0200 (South Africa Standard Time)</div> </div> <script src="../../prettify.js"></script> <script> window.onload = function () { if (typeof prettyPrint === 'function') { prettyPrint(); } }; </script> <script src="../../sorter.js"></script> </body> </html>