UNPKG

iridium

Version:

A custom lightweight ORM for MongoDB designed for power-users

244 lines (242 loc) 7.92 kB
<!doctype html> <html lang="en"> <head> <title>Code coverage report for dist\lib\Decorators.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\Decorators.js</span></h1> <h2> Statements: <span class="metric">100% <small>(46 / 46)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Branches: <span class="metric">80% <small>(24 / 30)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Functions: <span class="metric">100% <small>(14 / 14)</small></span> &nbsp;&nbsp;&nbsp;&nbsp; Lines: <span class="metric">100% <small>(45 / 45)</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; Decorators.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 58 59 60 61 62 63 64 65 66 67</td><td class="line-coverage"><span class="cline-any cline-neutral">&nbsp;</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">1</span> <span class="cline-any cline-yes">1</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> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-yes">2</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">1</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-yes">23</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">1</span> <span class="cline-any cline-yes">5</span> <span class="cline-any cline-yes">5</span> <span class="cline-any cline-yes">9</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">5</span> <span class="cline-any cline-yes">5</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-yes">5</span> <span class="cline-any cline-yes">5</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">3</span> <span class="cline-any cline-yes">3</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">5</span> <span class="cline-any cline-yes">5</span> <span class="cline-any cline-yes">5</span> <span class="cline-any cline-yes">2</span> <span class="cline-any cline-neutral">&nbsp;</span> <span class="cline-any cline-yes">3</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">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-neutral">&nbsp;</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-neutral">&nbsp;</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">1</span> <span class="cline-any cline-yes">1</span> <span class="cline-any cline-yes">29</span> <span class="cline-any cline-yes">21</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-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/// &lt;reference path="../_references.d.ts" /&gt; var MongoDB = require('mongodb'); var _ = require('lodash'); var skmatc = require('skmatc'); function Collection(name) { return function (target) { target.collection = name; }; } exports.Collection = Collection; function Index(spec, options) { return function (target) { target.indexes = (target.indexes || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.concat({ spec: spec, options: options || {} }); }; } exports.Index = Index; function Validate(forType, validate) { return function (target) { target.validators = (target.validators || <span class="branch-1 cbranch-no" title="branch not covered" >[])</span>.concat(skmatc.create(function (schema) { return schema === forType; }, validate)); }; } exports.Validate = Validate; function Property() { var args = []; for (var _i = 0; _i &lt; arguments.length; _i++) { args[_i - 0] = arguments[_i]; } var name = null, asType = false, required = true; if (args.length &gt; 1 &amp;&amp; typeof args[args.length - 1] === 'boolean') required = args.pop(); return function (target, property) { if (!property) name = args.shift(); else { name = property; target = target.constructor; } asType = args.pop() || <span class="branch-1 cbranch-no" title="branch not covered" >false;</span> target.schema = _.clone(target.schema || <span class="branch-1 cbranch-no" title="branch not covered" >{})</span>; if (!required &amp;&amp; typeof asType !== 'boolean') target.schema[name] = { $required: required, $type: asType }; else target.schema[name] = asType; }; } exports.Property = Property; function Transform(fromDB, toDB) { return function (target, property) { target.constructor.transforms = _.clone(target.constructor.transforms || <span class="branch-1 cbranch-no" title="branch not covered" >{})</span>; target.constructor.transforms[property] = { fromDB: fromDB, toDB: toDB }; }; } exports.Transform = Transform; function ObjectID(target, name) { target.constructor.schema = _.clone(target.constructor.schema || <span class="branch-1 cbranch-no" title="branch not covered" >{})</span>; target.constructor.schema[name] = MongoDB.ObjectID; target.constructor.transforms[name] = { fromDB: function (value) { return value._bsontype == 'ObjectID' ? new MongoDB.ObjectID(value.id).toHexString() : value; }, toDB: function (value) { return value &amp;&amp; typeof value === 'string' ? new MongoDB.ObjectID(value) : value; } }; } exports.ObjectID = ObjectID; &nbsp; //# sourceMappingURL=../lib/Decorators.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 14:55:18 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>