├── README.md └── coverage ├── coverage.json ├── lcov-report ├── base.css ├── build │ ├── index.html │ └── notify-js.node.js.html ├── index.html ├── prettify.css ├── prettify.js ├── sort-arrow-sprite.png └── sorter.js └── lcov.info /README.md: -------------------------------------------------------------------------------- 1 | This module is now called [broadcast](https://github.com/WebReflection/broadcast). 2 | -------------------------------------------------------------------------------- /coverage/coverage.json: -------------------------------------------------------------------------------- 1 | {"/Users/andreagiammarchi/code/notify-js/build/notify-js.node.js":{"path":"/Users/andreagiammarchi/code/notify-js/build/notify-js.node.js","s":{"1":1,"2":2,"3":16,"4":15,"5":15,"6":15,"7":19,"8":19,"9":19,"10":15,"11":15,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":5,"19":1,"20":1,"21":1,"22":35,"23":1,"24":17,"25":17,"26":2,"27":2,"28":2,"29":2,"30":15,"31":15,"32":18,"33":15,"34":15,"35":15,"36":15,"37":9,"38":15,"39":1,"40":16,"41":16,"42":2,"43":2,"44":16,"45":5,"46":11,"47":11,"48":16,"49":2,"50":3,"51":3,"52":1,"53":1,"54":2,"55":2,"56":2,"57":2,"58":1,"59":1,"60":1,"61":2,"62":2,"63":2,"64":2,"65":1,"66":1},"b":{"1":[2,1],"2":[2,1],"3":[2,1],"4":[19,5],"5":[1,1],"6":[1,1],"7":[1,0],"8":[1,0],"9":[24,11],"10":[2,15],"11":[2,14],"12":[5,11],"13":[16,14],"14":[11,0],"15":[2,1],"16":[1,2],"17":[2,0],"18":[1,0]},"f":{"1":2,"2":16,"3":15,"4":15,"5":19,"6":15,"7":15,"8":1,"9":1,"10":1,"11":5,"12":1,"13":35,"14":17,"15":2,"16":16,"17":2,"18":3,"19":1,"20":1,"21":2},"fnMap":{"1":{"name":"create","line":56,"loc":{"start":{"line":56,"column":0},"end":{"line":56,"column":19}}},"2":{"name":"(anonymous_2)","line":66,"loc":{"start":{"line":66,"column":13},"end":{"line":66,"column":29}}},"3":{"name":"(anonymous_3)","line":70,"loc":{"start":{"line":70,"column":21},"end":{"line":70,"column":37}}},"4":{"name":"(anonymous_4)","line":72,"loc":{"start":{"line":72,"column":13},"end":{"line":72,"column":25}}},"5":{"name":"indexOf","line":77,"loc":{"start":{"line":77,"column":41},"end":{"line":77,"column":61}}},"6":{"name":"(anonymous_6)","line":83,"loc":{"start":{"line":83,"column":6},"end":{"line":83,"column":23}}},"7":{"name":"(anonymous_7)","line":84,"loc":{"start":{"line":84,"column":22},"end":{"line":84,"column":36}}},"8":{"name":"(anonymous_8)","line":88,"loc":{"start":{"line":88,"column":6},"end":{"line":88,"column":23}}},"9":{"name":"(anonymous_9)","line":93,"loc":{"start":{"line":93,"column":7},"end":{"line":93,"column":26}}},"10":{"name":"(anonymous_10)","line":96,"loc":{"start":{"line":96,"column":20},"end":{"line":96,"column":33}}},"11":{"name":"(anonymous_11)","line":103,"loc":{"start":{"line":103,"column":15},"end":{"line":103,"column":28}}},"12":{"name":"(anonymous_12)","line":106,"loc":{"start":{"line":106,"column":15},"end":{"line":106,"column":31}}},"13":{"name":"get","line":118,"loc":{"start":{"line":118,"column":2},"end":{"line":118,"column":21}}},"14":{"name":"that","line":127,"loc":{"start":{"line":127,"column":2},"end":{"line":127,"column":22}}},"15":{"name":"(anonymous_15)","line":139,"loc":{"start":{"line":139,"column":13},"end":{"line":139,"column":25}}},"16":{"name":"when","line":165,"loc":{"start":{"line":165,"column":2},"end":{"line":165,"column":32}}},"17":{"name":"(anonymous_17)","line":168,"loc":{"start":{"line":168,"column":24},"end":{"line":168,"column":43}}},"18":{"name":"drop","line":224,"loc":{"start":{"line":224,"column":10},"end":{"line":224,"column":40}}},"19":{"name":"(anonymous_19)","line":237,"loc":{"start":{"line":237,"column":11},"end":{"line":237,"column":23}}},"20":{"name":"all","line":245,"loc":{"start":{"line":245,"column":9},"end":{"line":245,"column":38}}},"21":{"name":"fn","line":247,"loc":{"start":{"line":247,"column":25},"end":{"line":247,"column":39}}}},"statementMap":{"1":{"start":{"line":56,"column":0},"end":{"line":257,"column":1}},"2":{"start":{"line":58,"column":2},"end":{"line":113,"column":3}},"3":{"start":{"line":67,"column":6},"end":{"line":67,"column":29}},"4":{"start":{"line":71,"column":6},"end":{"line":71,"column":20}},"5":{"start":{"line":72,"column":6},"end":{"line":74,"column":8}},"6":{"start":{"line":73,"column":8},"end":{"line":73,"column":41}},"7":{"start":{"line":78,"column":6},"end":{"line":78,"column":26}},"8":{"start":{"line":79,"column":6},"end":{"line":79,"column":37}},"9":{"start":{"line":80,"column":6},"end":{"line":80,"column":15}},"10":{"start":{"line":84,"column":8},"end":{"line":86,"column":11}},"11":{"start":{"line":85,"column":10},"end":{"line":85,"column":35}},"12":{"start":{"line":89,"column":8},"end":{"line":89,"column":38}},"13":{"start":{"line":94,"column":8},"end":{"line":110,"column":10}},"14":{"start":{"line":97,"column":12},"end":{"line":97,"column":35}},"15":{"start":{"line":98,"column":12},"end":{"line":101,"column":13}},"16":{"start":{"line":99,"column":14},"end":{"line":99,"column":29}},"17":{"start":{"line":100,"column":14},"end":{"line":100,"column":29}},"18":{"start":{"line":104,"column":12},"end":{"line":104,"column":41}},"19":{"start":{"line":107,"column":12},"end":{"line":107,"column":35}},"20":{"start":{"line":108,"column":12},"end":{"line":108,"column":47}},"21":{"start":{"line":118,"column":2},"end":{"line":125,"column":3}},"22":{"start":{"line":119,"column":4},"end":{"line":124,"column":9}},"23":{"start":{"line":127,"column":2},"end":{"line":163,"column":3}},"24":{"start":{"line":128,"column":4},"end":{"line":133,"column":5}},"25":{"start":{"line":136,"column":4},"end":{"line":161,"column":5}},"26":{"start":{"line":139,"column":6},"end":{"line":143,"column":8}},"27":{"start":{"line":140,"column":8},"end":{"line":140,"column":26}},"28":{"start":{"line":141,"column":8},"end":{"line":141,"column":41}},"29":{"start":{"line":142,"column":8},"end":{"line":142,"column":38}},"30":{"start":{"line":149,"column":6},"end":{"line":149,"column":21}},"31":{"start":{"line":150,"column":6},"end":{"line":150,"column":53}},"32":{"start":{"line":150,"column":22},"end":{"line":150,"column":53}},"33":{"start":{"line":151,"column":6},"end":{"line":151,"column":12}},"34":{"start":{"line":152,"column":6},"end":{"line":152,"column":27}},"35":{"start":{"line":159,"column":6},"end":{"line":159,"column":34}},"36":{"start":{"line":160,"column":6},"end":{"line":160,"column":74}},"37":{"start":{"line":160,"column":22},"end":{"line":160,"column":74}},"38":{"start":{"line":162,"column":4},"end":{"line":162,"column":24}},"39":{"start":{"line":165,"column":2},"end":{"line":178,"column":3}},"40":{"start":{"line":166,"column":4},"end":{"line":166,"column":30}},"41":{"start":{"line":167,"column":4},"end":{"line":171,"column":5}},"42":{"start":{"line":168,"column":6},"end":{"line":170,"column":9}},"43":{"start":{"line":169,"column":8},"end":{"line":169,"column":27}},"44":{"start":{"line":172,"column":4},"end":{"line":176,"column":5}},"45":{"start":{"line":173,"column":6},"end":{"line":173,"column":59}},"46":{"start":{"line":174,"column":11},"end":{"line":176,"column":5}},"47":{"start":{"line":175,"column":6},"end":{"line":175,"column":29}},"48":{"start":{"line":177,"column":4},"end":{"line":177,"column":15}},"49":{"start":{"line":182,"column":2},"end":{"line":256,"column":5}},"50":{"start":{"line":225,"column":6},"end":{"line":225,"column":39}},"51":{"start":{"line":226,"column":6},"end":{"line":233,"column":7}},"52":{"start":{"line":227,"column":8},"end":{"line":227,"column":31}},"53":{"start":{"line":228,"column":8},"end":{"line":228,"column":23}},"54":{"start":{"line":230,"column":8},"end":{"line":230,"column":26}},"55":{"start":{"line":231,"column":8},"end":{"line":231,"column":39}},"56":{"start":{"line":232,"column":8},"end":{"line":232,"column":32}},"57":{"start":{"line":232,"column":16},"end":{"line":232,"column":32}},"58":{"start":{"line":238,"column":6},"end":{"line":238,"column":23}},"59":{"start":{"line":246,"column":6},"end":{"line":254,"column":7}},"60":{"start":{"line":247,"column":8},"end":{"line":252,"column":11}},"61":{"start":{"line":248,"column":10},"end":{"line":248,"column":25}},"62":{"start":{"line":249,"column":10},"end":{"line":249,"column":25}},"63":{"start":{"line":250,"column":10},"end":{"line":250,"column":24}},"64":{"start":{"line":251,"column":10},"end":{"line":251,"column":63}},"65":{"start":{"line":253,"column":8},"end":{"line":253,"column":37}},"66":{"start":{"line":258,"column":0},"end":{"line":258,"column":32}}},"branchMap":{"1":{"line":62,"type":"binary-expr","locations":[{"start":{"line":62,"column":9},"end":{"line":62,"column":17}},{"start":{"line":62,"column":21},"end":{"line":62,"column":22}}]},"2":{"line":70,"type":"binary-expr","locations":[{"start":{"line":70,"column":11},"end":{"line":70,"column":17}},{"start":{"line":70,"column":21},"end":{"line":75,"column":5}}]},"3":{"line":77,"type":"binary-expr","locations":[{"start":{"line":77,"column":14},"end":{"line":77,"column":37}},{"start":{"line":77,"column":41},"end":{"line":81,"column":5}}]},"4":{"line":79,"type":"binary-expr","locations":[{"start":{"line":79,"column":13},"end":{"line":79,"column":16}},{"start":{"line":79,"column":20},"end":{"line":79,"column":33}}]},"5":{"line":82,"type":"cond-expr","locations":[{"start":{"line":83,"column":6},"end":{"line":87,"column":7}},{"start":{"line":88,"column":6},"end":{"line":90,"column":7}}]},"6":{"line":92,"type":"cond-expr","locations":[{"start":{"line":93,"column":7},"end":{"line":111,"column":18}},{"start":{"line":112,"column":6},"end":{"line":112,"column":19}}]},"7":{"line":98,"type":"if","locations":[{"start":{"line":98,"column":12},"end":{"line":98,"column":12}},{"start":{"line":98,"column":12},"end":{"line":98,"column":12}}]},"8":{"line":108,"type":"cond-expr","locations":[{"start":{"line":108,"column":23},"end":{"line":108,"column":36}},{"start":{"line":108,"column":40},"end":{"line":108,"column":41}}]},"9":{"line":119,"type":"cond-expr","locations":[{"start":{"line":120,"column":6},"end":{"line":120,"column":13}},{"start":{"line":121,"column":7},"end":{"line":124,"column":7}}]},"10":{"line":136,"type":"if","locations":[{"start":{"line":136,"column":4},"end":{"line":136,"column":4}},{"start":{"line":136,"column":4},"end":{"line":136,"column":4}}]},"11":{"line":167,"type":"if","locations":[{"start":{"line":167,"column":4},"end":{"line":167,"column":4}},{"start":{"line":167,"column":4},"end":{"line":167,"column":4}}]},"12":{"line":172,"type":"if","locations":[{"start":{"line":172,"column":4},"end":{"line":172,"column":4}},{"start":{"line":172,"column":4},"end":{"line":172,"column":4}}]},"13":{"line":172,"type":"binary-expr","locations":[{"start":{"line":172,"column":8},"end":{"line":172,"column":14}},{"start":{"line":172,"column":18},"end":{"line":172,"column":27}}]},"14":{"line":174,"type":"if","locations":[{"start":{"line":174,"column":11},"end":{"line":174,"column":11}},{"start":{"line":174,"column":11},"end":{"line":174,"column":11}}]},"15":{"line":182,"type":"binary-expr","locations":[{"start":{"line":182,"column":10},"end":{"line":182,"column":18}},{"start":{"line":182,"column":22},"end":{"line":182,"column":23}}]},"16":{"line":226,"type":"if","locations":[{"start":{"line":226,"column":6},"end":{"line":226,"column":6}},{"start":{"line":226,"column":6},"end":{"line":226,"column":6}}]},"17":{"line":232,"type":"if","locations":[{"start":{"line":232,"column":8},"end":{"line":232,"column":8}},{"start":{"line":232,"column":8},"end":{"line":232,"column":8}}]},"18":{"line":246,"type":"if","locations":[{"start":{"line":246,"column":6},"end":{"line":246,"column":6}},{"start":{"line":246,"column":6},"end":{"line":246,"column":6}}]}}}} -------------------------------------------------------------------------------- /coverage/lcov-report/base.css: -------------------------------------------------------------------------------- 1 | body, html { 2 | margin:0; padding: 0; 3 | height: 100%; 4 | } 5 | body { 6 | font-family: Helvetica Neue, Helvetica, Arial; 7 | font-size: 14px; 8 | color:#333; 9 | } 10 | .small { font-size: 12px; } 11 | *, *:after, *:before { 12 | -webkit-box-sizing:border-box; 13 | -moz-box-sizing:border-box; 14 | box-sizing:border-box; 15 | } 16 | h1 { font-size: 20px; margin: 0;} 17 | h2 { font-size: 14px; } 18 | pre { 19 | font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; 20 | margin: 0; 21 | padding: 0; 22 | -moz-tab-size: 2; 23 | -o-tab-size: 2; 24 | tab-size: 2; 25 | } 26 | a { color:#0074D9; text-decoration:none; } 27 | a:hover { text-decoration:underline; } 28 | .strong { font-weight: bold; } 29 | .space-top1 { padding: 10px 0 0 0; } 30 | .pad2y { padding: 20px 0; } 31 | .pad1y { padding: 10px 0; } 32 | .pad2x { padding: 0 20px; } 33 | .pad2 { padding: 20px; } 34 | .pad1 { padding: 10px; } 35 | .space-left2 { padding-left:55px; } 36 | .space-right2 { padding-right:20px; } 37 | .center { text-align:center; } 38 | .clearfix { display:block; } 39 | .clearfix:after { 40 | content:''; 41 | display:block; 42 | height:0; 43 | clear:both; 44 | visibility:hidden; 45 | } 46 | .fl { float: left; } 47 | @media only screen and (max-width:640px) { 48 | .col3 { width:100%; max-width:100%; } 49 | .hide-mobile { display:none!important; } 50 | } 51 | 52 | .quiet { 53 | color: #7f7f7f; 54 | color: rgba(0,0,0,0.5); 55 | } 56 | .quiet a { opacity: 0.7; } 57 | 58 | .fraction { 59 | font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; 60 | font-size: 10px; 61 | color: #555; 62 | background: #E8E8E8; 63 | padding: 4px 5px; 64 | border-radius: 3px; 65 | vertical-align: middle; 66 | } 67 | 68 | div.path a:link, div.path a:visited { color: #333; } 69 | table.coverage { 70 | border-collapse: collapse; 71 | margin: 10px 0 0 0; 72 | padding: 0; 73 | } 74 | 75 | table.coverage td { 76 | margin: 0; 77 | padding: 0; 78 | vertical-align: top; 79 | } 80 | table.coverage td.line-count { 81 | text-align: right; 82 | padding: 0 5px 0 20px; 83 | } 84 | table.coverage td.line-coverage { 85 | text-align: right; 86 | padding-right: 10px; 87 | min-width:20px; 88 | } 89 | 90 | table.coverage td span.cline-any { 91 | display: inline-block; 92 | padding: 0 5px; 93 | width: 100%; 94 | } 95 | .missing-if-branch { 96 | display: inline-block; 97 | margin-right: 5px; 98 | border-radius: 3px; 99 | position: relative; 100 | padding: 0 4px; 101 | background: #333; 102 | color: yellow; 103 | } 104 | 105 | .skip-if-branch { 106 | display: none; 107 | margin-right: 10px; 108 | position: relative; 109 | padding: 0 4px; 110 | background: #ccc; 111 | color: white; 112 | } 113 | .missing-if-branch .typ, .skip-if-branch .typ { 114 | color: inherit !important; 115 | } 116 | .coverage-summary { 117 | border-collapse: collapse; 118 | width: 100%; 119 | } 120 | .coverage-summary tr { border-bottom: 1px solid #bbb; } 121 | .keyline-all { border: 1px solid #ddd; } 122 | .coverage-summary td, .coverage-summary th { padding: 10px; } 123 | .coverage-summary tbody { border: 1px solid #bbb; } 124 | .coverage-summary td { border-right: 1px solid #bbb; } 125 | .coverage-summary td:last-child { border-right: none; } 126 | .coverage-summary th { 127 | text-align: left; 128 | font-weight: normal; 129 | white-space: nowrap; 130 | } 131 | .coverage-summary th.file { border-right: none !important; } 132 | .coverage-summary th.pct { } 133 | .coverage-summary th.pic, 134 | .coverage-summary th.abs, 135 | .coverage-summary td.pct, 136 | .coverage-summary td.abs { text-align: right; } 137 | .coverage-summary td.file { white-space: nowrap; } 138 | .coverage-summary td.pic { min-width: 120px !important; } 139 | .coverage-summary tfoot td { } 140 | 141 | .coverage-summary .sorter { 142 | height: 10px; 143 | width: 7px; 144 | display: inline-block; 145 | margin-left: 0.5em; 146 | background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; 147 | } 148 | .coverage-summary .sorted .sorter { 149 | background-position: 0 -20px; 150 | } 151 | .coverage-summary .sorted-desc .sorter { 152 | background-position: 0 -10px; 153 | } 154 | .status-line { height: 10px; } 155 | /* dark red */ 156 | .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } 157 | .low .chart { border:1px solid #C21F39 } 158 | /* medium red */ 159 | .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } 160 | /* light red */ 161 | .low, .cline-no { background:#FCE1E5 } 162 | /* light green */ 163 | .high, .cline-yes { background:rgb(230,245,208) } 164 | /* medium green */ 165 | .cstat-yes { background:rgb(161,215,106) } 166 | /* dark green */ 167 | .status-line.high, .high .cover-fill { background:rgb(77,146,33) } 168 | .high .chart { border:1px solid rgb(77,146,33) } 169 | /* dark yellow (gold) */ 170 | .medium .chart { border:1px solid #f9cd0b; } 171 | .status-line.medium, .medium .cover-fill { background: #f9cd0b; } 172 | /* light yellow */ 173 | .medium { background: #fff4c2; } 174 | /* light gray */ 175 | span.cline-neutral { background: #eaeaea; } 176 | 177 | .cbranch-no { background: yellow !important; color: #111; } 178 | 179 | .cstat-skip { background: #ddd; color: #111; } 180 | .fstat-skip { background: #ddd; color: #111 !important; } 181 | .cbranch-skip { background: #ddd !important; color: #111; } 182 | 183 | 184 | .cover-fill, .cover-empty { 185 | display:inline-block; 186 | height: 12px; 187 | } 188 | .chart { 189 | line-height: 0; 190 | } 191 | .cover-empty { 192 | background: white; 193 | } 194 | .cover-full { 195 | border-right: none !important; 196 | } 197 | pre.prettyprint { 198 | border: none !important; 199 | padding: 0 !important; 200 | margin: 0 !important; 201 | } 202 | .com { color: #999 !important; } 203 | .ignore-none { color: #999; font-weight: normal; } 204 | 205 | .wrapper { 206 | min-height: 100%; 207 | height: auto !important; 208 | height: 100%; 209 | margin: 0 auto -48px; 210 | } 211 | .footer, .push { 212 | height: 48px; 213 | } 214 | -------------------------------------------------------------------------------- /coverage/lcov-report/build/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Code coverage report for build/ 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 |
17 |
18 |

19 | all files build/ 20 |

21 |
22 |
23 | 100% 24 | Statements 25 | 66/66 26 |
27 |
28 | 86.11% 29 | Branches 30 | 31/36 31 |
32 |
33 | 100% 34 | Functions 35 | 21/21 36 |
37 |
38 | 100% 39 | Lines 40 | 63/63 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 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 |
FileStatementsBranchesFunctionsLines
notify-js.node.js
100%66/6686.11%31/36100%21/21100%63/63
76 |
77 |
78 | 82 | 83 | 84 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /coverage/lcov-report/build/notify-js.node.js.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Code coverage report for build/notify-js.node.js 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 |
17 |
18 |

19 | all files / build/ notify-js.node.js 20 |

21 |
22 |
23 | 100% 24 | Statements 25 | 66/66 26 |
27 |
28 | 86.11% 29 | Branches 30 | 31/36 31 |
32 |
33 | 100% 34 | Functions 35 | 21/21 36 |
37 |
38 | 100% 39 | Lines 40 | 63/63 41 |
42 |
43 |
44 |
45 |

 46 | 
818 | 
1 47 | 2 48 | 3 49 | 4 50 | 5 51 | 6 52 | 7 53 | 8 54 | 9 55 | 10 56 | 11 57 | 12 58 | 13 59 | 14 60 | 15 61 | 16 62 | 17 63 | 18 64 | 19 65 | 20 66 | 21 67 | 22 68 | 23 69 | 24 70 | 25 71 | 26 72 | 27 73 | 28 74 | 29 75 | 30 76 | 31 77 | 32 78 | 33 79 | 34 80 | 35 81 | 36 82 | 37 83 | 38 84 | 39 85 | 40 86 | 41 87 | 42 88 | 43 89 | 44 90 | 45 91 | 46 92 | 47 93 | 48 94 | 49 95 | 50 96 | 51 97 | 52 98 | 53 99 | 54 100 | 55 101 | 56 102 | 57 103 | 58 104 | 59 105 | 60 106 | 61 107 | 62 108 | 63 109 | 64 110 | 65 111 | 66 112 | 67 113 | 68 114 | 69 115 | 70 116 | 71 117 | 72 118 | 73 119 | 74 120 | 75 121 | 76 122 | 77 123 | 78 124 | 79 125 | 80 126 | 81 127 | 82 128 | 83 129 | 84 130 | 85 131 | 86 132 | 87 133 | 88 134 | 89 135 | 90 136 | 91 137 | 92 138 | 93 139 | 94 140 | 95 141 | 96 142 | 97 143 | 98 144 | 99 145 | 100 146 | 101 147 | 102 148 | 103 149 | 104 150 | 105 151 | 106 152 | 107 153 | 108 154 | 109 155 | 110 156 | 111 157 | 112 158 | 113 159 | 114 160 | 115 161 | 116 162 | 117 163 | 118 164 | 119 165 | 120 166 | 121 167 | 122 168 | 123 169 | 124 170 | 125 171 | 126 172 | 127 173 | 128 174 | 129 175 | 130 176 | 131 177 | 132 178 | 133 179 | 134 180 | 135 181 | 136 182 | 137 183 | 138 184 | 139 185 | 140 186 | 141 187 | 142 188 | 143 189 | 144 190 | 145 191 | 146 192 | 147 193 | 148 194 | 149 195 | 150 196 | 151 197 | 152 198 | 153 199 | 154 200 | 155 201 | 156 202 | 157 203 | 158 204 | 159 205 | 160 206 | 161 207 | 162 208 | 163 209 | 164 210 | 165 211 | 166 212 | 167 213 | 168 214 | 169 215 | 170 216 | 171 217 | 172 218 | 173 219 | 174 220 | 175 221 | 176 222 | 177 223 | 178 224 | 179 225 | 180 226 | 181 227 | 182 228 | 183 229 | 184 230 | 185 231 | 186 232 | 187 233 | 188 234 | 189 235 | 190 236 | 191 237 | 192 238 | 193 239 | 194 240 | 195 241 | 196 242 | 197 243 | 198 244 | 199 245 | 200 246 | 201 247 | 202 248 | 203 249 | 204 250 | 205 251 | 206 252 | 207 253 | 208 254 | 209 255 | 210 256 | 211 257 | 212 258 | 213 259 | 214 260 | 215 261 | 216 262 | 217 263 | 218 264 | 219 265 | 220 266 | 221 267 | 222 268 | 223 269 | 224 270 | 225 271 | 226 272 | 227 273 | 228 274 | 229 275 | 230 276 | 231 277 | 232 278 | 233 279 | 234 280 | 235 281 | 236 282 | 237 283 | 238 284 | 239 285 | 240 286 | 241 287 | 242 288 | 243 289 | 244 290 | 245 291 | 246 292 | 247 293 | 248 294 | 249 295 | 250 296 | 251 297 | 252 298 | 253 299 | 254 300 | 255 301 | 256 302 | 257 303 | 258  304 |   305 |   306 |   307 |   308 |   309 |   310 |   311 |   312 |   313 |   314 |   315 |   316 |   317 |   318 |   319 |   320 |   321 |   322 |   323 |   324 |   325 |   326 |   327 |   328 |   329 |   330 |   331 |   332 |   333 |   334 |   335 |   336 |   337 |   338 |   339 |   340 |   341 |   342 |   343 |   344 |   345 |   346 |   347 |   348 |   349 |   350 |   351 |   352 |   353 |   354 |   355 |   356 |   357 |   358 | 359 |   360 | 361 |   362 |   363 |   364 |   365 |   366 |   367 |   368 |   369 | 16× 370 |   371 |   372 |   373 | 15× 374 | 15× 375 | 15× 376 |   377 |   378 |   379 |   380 | 19× 381 | 19× 382 | 19× 383 |   384 |   385 |   386 | 15× 387 | 15× 388 |   389 |   390 |   391 | 392 |   393 |   394 |   395 |   396 | 397 |   398 |   399 | 400 | 401 | 402 | 403 |   404 |   405 |   406 | 407 |   408 |   409 | 410 | 411 |   412 |   413 |   414 |   415 |   416 |   417 |   418 |   419 |   420 | 421 | 35× 422 |   423 |   424 |   425 |   426 |   427 |   428 |   429 | 430 | 17× 431 |   432 |   433 |   434 |   435 |   436 |   437 |   438 | 17× 439 |   440 |   441 | 442 | 443 | 444 | 445 |   446 |   447 |   448 |   449 |   450 |   451 | 15× 452 | 18× 453 | 15× 454 | 15× 455 |   456 |   457 |   458 |   459 |   460 |   461 | 15× 462 | 15× 463 |   464 | 15× 465 |   466 |   467 | 468 | 16× 469 | 16× 470 | 471 | 472 |   473 |   474 | 16× 475 | 476 | 11× 477 | 11× 478 |   479 | 16× 480 |   481 |   482 |   483 |   484 | 485 |   486 |   487 |   488 |   489 |   490 |   491 |   492 |   493 |   494 |   495 |   496 |   497 |   498 |   499 |   500 |   501 |   502 |   503 |   504 |   505 |   506 |   507 |   508 |   509 |   510 |   511 |   512 |   513 |   514 |   515 |   516 |   517 |   518 |   519 |   520 |   521 |   522 |   523 |   524 |   525 |   526 |   527 | 528 | 529 | 530 | 531 |   532 | 533 | 534 | 535 |   536 |   537 |   538 |   539 |   540 | 541 |   542 |   543 |   544 |   545 |   546 |   547 |   548 | 549 | 550 | 551 | 552 | 553 | 554 |   555 | 556 |   557 |   558 |   559 |   560 |
/*!
561 | Copyright (C) 2015-2017 by Andrea Giammarchi
562 |  
563 | Permission is hereby granted, free of charge, to any person obtaining a copy
564 | of this software and associated documentation files (the "Software"), to deal
565 | in the Software without restriction, including without limitation the rights
566 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
567 | copies of the Software, and to permit persons to whom the Software is
568 | furnished to do so, subject to the following conditions:
569 |  
570 | The above copyright notice and this permission notice shall be included in
571 | all copies or substantial portions of the Software.
572 |  
573 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
574 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
575 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
576 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
577 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
578 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
579 | THE SOFTWARE.
580 |  
581 | */
582 | /**
583 |  * // assuming "data" event hasn't happened yet
584 |  * notify.when("data", function (data) {
585 |  *   console.log(data);
586 |  * });
587 |  *
588 |  * // whenever it will happen
589 |  * notify.that("data", {any:'value'});
590 |  * // all listeners waiting for it, will be triggered
591 |  *
592 |  *
593 |  * // what if you add a listener after the `.about` call?
594 |  * notify.when("data", function (data) {
595 |  *   console.log('yep, instantly called!', data);
596 |  * });
597 |  *
598 |  *
599 |  * // what if we redefine data ?
600 |  * notify.about("data", {another:'value'});
601 |  * // from now on, whoever will ask `.when` data
602 |  * // the value will be the updated one
603 |  * // but every listener already fired and satisfied
604 |  * // will be simply ignored
605 |  *
606 |  *
607 |  * // what if I want to be sure the channel is private?
608 |  * // feel free to use a Symbol as channel
609 |  * var myPrivateSymbol = Symbol();
610 |  * notify.when(myPrivateSymbol, ...);
611 |  *
612 |  * // otherwise create a new notify like variable
613 |  * var privateNotify = notify.new();
614 |  */
615 | function create(O) {'use strict';
616 |  
617 |   var
618 |     // flag for internal operations (used by all)
619 |     invoke = true,
620 |     // create a dictionary, fallback as regular object
621 |     _ = (O.create || O)(null),
622 |     // dictionaries don't have this method, borrow it
623 |     hOP = O.prototype.hasOwnProperty,
624 |     // will invoke the callback within the Promise
625 |     notify = function (args) {
626 |       this.apply(null, args);
627 |     },
628 |     // IE < 9 doesn't have this method, sham it
629 |     bind = O.bind || function (self) {
630 |       var cb = this;
631 |       return function () {
632 |         return cb.apply(self, arguments);
633 |       };
634 |     },
635 |     // IE < 9 doesn't have this method, sham it
636 |     indexOf = Array.prototype.indexOf || function indexOf(v) {
637 |       var i = this.length;
638 |       while (i-- && this[i] !== v) {}
639 |       return i;
640 |     },
641 |     resolve = typeof Promise == 'undefined' ?
642 |       function (value) {
643 |         return {then: function (cb) {
644 |           setTimeout(cb, 1, value);
645 |         }};
646 |       } :
647 |       function (value) {
648 |         return Promise.resolve(value);
649 |       },
650 |     // little WeakMap poly
651 |     wm = typeof WeakMap == 'undefined' ?
652 |       (function (k, v, i) {
653 |         return {
654 |           // delete used to be a reserved property name
655 |           'delete': function (x) {
656 |             i = indexOf.call(k, x);
657 |             Eif (~i) {
658 |               k.splice(i, 1);
659 |               v.splice(i, 1);
660 |             }
661 |           },
662 |           get: function (x) {
663 |             return v[indexOf.call(k, x)];
664 |           },
665 |           set: function (x, y) {
666 |             i = indexOf.call(k, x);
667 |             v[i < 0 ? (k.push(x) - 1) : i] = y;
668 |           }
669 |         };
670 |       }([], [], 0)) :
671 |       new WeakMap()
672 |   ;
673 |  
674 |   // check if a private _[type] is known
675 |   // if not, create the info object
676 |   // returns such object either cases
677 |   function get(type) {
678 |     return hOP.call(_, type) ?
679 |       _[type] :
680 |       (_[type] = {
681 |         args: null,
682 |         cb: []
683 |       });
684 |   }
685 |  
686 |   function that(type) {
687 |     var
688 |       len = arguments.length,
689 |       info = get(type),
690 |       i = 1,
691 |       cb
692 |     ;
693 |     // in case it's invoked
694 |     // without any error or value
695 |     if (i === len) {
696 |       // creates a callback
697 |       // that once  invoked will resolve
698 |       return function () {
699 |         var args = [type];
700 |         args.push.apply(args, arguments);
701 |         return that.apply(null, args);
702 |       };
703 |     }
704 |     // in  every other case
705 |     // resolve the type with any amount
706 |     // of arguments received
707 |     else {
708 |       info.args = [];
709 |       while (i < len) info.args.push(arguments[i++]);
710 |       i = 0;
711 |       len = info.cb.length;
712 |       // be sure the list of waiting listeners
713 |       // will be cleaned up so these won't
714 |       // every be notified more than  once
715 |       // ( unless these are passed again via `.when` )
716 |       // NOTE:  .splice(0) would be enough
717 |       //        but IE8 wants the length too
718 |       cb = info.cb.splice(i, len);
719 |       while (i < len) resolve(info.args).then(bind.call(notify, cb[i++]));
720 |     }
721 |     return info.args[0];
722 |   }
723 |  
724 |   function when(type, callback) {
725 |     var info = get(type), out;
726 |     if (arguments.length === 1) {
727 |       out = new Promise(function (resolve) {
728 |         callback = resolve;
729 |       });
730 |     }
731 |     if (invoke && info.args) {
732 |       resolve(info.args).then(bind.call(notify, callback));
733 |     } else Eif(indexOf.call(info.cb, callback) < 0) {
734 |       info.cb.push(callback);
735 |     }
736 |     return out;
737 |   }
738 |  
739 |   // freeze, if possible, the notify object
740 |   // to be sure no other scripts can change its methods
741 |   return (O.freeze || O)({
742 |  
743 |     // There are two ways to use this method
744 |     //
745 |     // .when(type, callback)
746 |     //    add a listener to a generic type
747 |     //    whenever such type will happen
748 |     //    or if it happened already
749 |     //    invoke the callback with the resolved value
750 |     //
751 |     // .when(type)
752 |     //    return a new Promise that will be resolved
753 |     //    once the notification will happen
754 |     //
755 |     //    notify.when('event').then(function (data) { ... });
756 |     //
757 |     when: when,
758 |  
759 |     // .about is an alias for .that
760 |     // There are two ways to use this method
761 |     //
762 |     // .about(type)
763 |     //    will return a callback
764 |     //    that will try to resolve once executed
765 |     //    fs.readFile('setup.json', notify.about('setup.json'))
766 |     //
767 |     // overload
768 |     // .that(type, any1[, any2[, ...]])
769 |     //    resolve type passing anyValue around
770 |     //
771 |     //    // through one argument
772 |     //    notify.that('some-event', {all: 'good'});
773 |     //    // through more arguments
774 |     //    notify.that('some-event', null, 'OK');
775 |     //
776 |     about: that,
777 |     that: that,
778 |  
779 |     // if we set a listener through `.when`
780 |     // and this hasn't been notified yet
781 |     // but we changed our mind about such notification
782 |     // we can still remove such listener via `.drop`
783 |     drop: function drop(type, callback) {
784 |       var fn = wm.get(callback), cb, i;
785 |       if (fn) {
786 |         wm['delete'](callback);
787 |         drop(type, fn);
788 |       } else {
789 |         cb = get(type).cb;
790 |         i = indexOf.call(cb, callback);
791 |         Eif (~i) cb.splice(i, 1);
792 |       }
793 |     },
794 |  
795 |     // create a new notify-like object
796 |     'new': function () {
797 |       return create(O);
798 |     },
799 |  
800 |     // in case we'd like to react each time
801 |     // to a specific event.
802 |     // In this case a callback is mandatory,
803 |     // and it's also needed to eventually drop.
804 |     all: function all(type, callback) {
805 |       Eif (!wm.get(callback)) {
806 |         wm.set(callback, function fn() {
807 |           invoke = false;
808 |           when(type, fn);
809 |           invoke = true;
810 |           resolve(arguments).then(bind.call(notify, callback));
811 |         });
812 |         when(type, wm.get(callback));
813 |       }
814 |     }
815 |   });
816 | }
817 | module.exports = create(Object);
819 |
820 |
821 | 825 | 826 | 827 | 834 | 835 | 836 | 837 | -------------------------------------------------------------------------------- /coverage/lcov-report/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Code coverage report for All files 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 |
17 |
18 |

19 | / 20 |

21 |
22 |
23 | 100% 24 | Statements 25 | 66/66 26 |
27 |
28 | 86.11% 29 | Branches 30 | 31/36 31 |
32 |
33 | 100% 34 | Functions 35 | 21/21 36 |
37 |
38 | 100% 39 | Lines 40 | 63/63 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 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 |
FileStatementsBranchesFunctionsLines
build/
100%66/6686.11%31/36100%21/21100%63/63
76 |
77 |
78 | 82 | 83 | 84 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /coverage/lcov-report/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} 2 | -------------------------------------------------------------------------------- /coverage/lcov-report/prettify.js: -------------------------------------------------------------------------------- 1 | window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); 2 | -------------------------------------------------------------------------------- /coverage/lcov-report/sort-arrow-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WebReflection/notify-js/b50917748a09d6907a270a5bd2634a5a6606c488/coverage/lcov-report/sort-arrow-sprite.png -------------------------------------------------------------------------------- /coverage/lcov-report/sorter.js: -------------------------------------------------------------------------------- 1 | var addSorting = (function () { 2 | "use strict"; 3 | var cols, 4 | currentSort = { 5 | index: 0, 6 | desc: false 7 | }; 8 | 9 | // returns the summary table element 10 | function getTable() { return document.querySelector('.coverage-summary'); } 11 | // returns the thead element of the summary table 12 | function getTableHeader() { return getTable().querySelector('thead tr'); } 13 | // returns the tbody element of the summary table 14 | function getTableBody() { return getTable().querySelector('tbody'); } 15 | // returns the th element for nth column 16 | function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; } 17 | 18 | // loads all columns 19 | function loadColumns() { 20 | var colNodes = getTableHeader().querySelectorAll('th'), 21 | colNode, 22 | cols = [], 23 | col, 24 | i; 25 | 26 | for (i = 0; i < colNodes.length; i += 1) { 27 | colNode = colNodes[i]; 28 | col = { 29 | key: colNode.getAttribute('data-col'), 30 | sortable: !colNode.getAttribute('data-nosort'), 31 | type: colNode.getAttribute('data-type') || 'string' 32 | }; 33 | cols.push(col); 34 | if (col.sortable) { 35 | col.defaultDescSort = col.type === 'number'; 36 | colNode.innerHTML = colNode.innerHTML + ''; 37 | } 38 | } 39 | return cols; 40 | } 41 | // attaches a data attribute to every tr element with an object 42 | // of data values keyed by column name 43 | function loadRowData(tableRow) { 44 | var tableCols = tableRow.querySelectorAll('td'), 45 | colNode, 46 | col, 47 | data = {}, 48 | i, 49 | val; 50 | for (i = 0; i < tableCols.length; i += 1) { 51 | colNode = tableCols[i]; 52 | col = cols[i]; 53 | val = colNode.getAttribute('data-value'); 54 | if (col.type === 'number') { 55 | val = Number(val); 56 | } 57 | data[col.key] = val; 58 | } 59 | return data; 60 | } 61 | // loads all row data 62 | function loadData() { 63 | var rows = getTableBody().querySelectorAll('tr'), 64 | i; 65 | 66 | for (i = 0; i < rows.length; i += 1) { 67 | rows[i].data = loadRowData(rows[i]); 68 | } 69 | } 70 | // sorts the table using the data for the ith column 71 | function sortByIndex(index, desc) { 72 | var key = cols[index].key, 73 | sorter = function (a, b) { 74 | a = a.data[key]; 75 | b = b.data[key]; 76 | return a < b ? -1 : a > b ? 1 : 0; 77 | }, 78 | finalSorter = sorter, 79 | tableBody = document.querySelector('.coverage-summary tbody'), 80 | rowNodes = tableBody.querySelectorAll('tr'), 81 | rows = [], 82 | i; 83 | 84 | if (desc) { 85 | finalSorter = function (a, b) { 86 | return -1 * sorter(a, b); 87 | }; 88 | } 89 | 90 | for (i = 0; i < rowNodes.length; i += 1) { 91 | rows.push(rowNodes[i]); 92 | tableBody.removeChild(rowNodes[i]); 93 | } 94 | 95 | rows.sort(finalSorter); 96 | 97 | for (i = 0; i < rows.length; i += 1) { 98 | tableBody.appendChild(rows[i]); 99 | } 100 | } 101 | // removes sort indicators for current column being sorted 102 | function removeSortIndicators() { 103 | var col = getNthColumn(currentSort.index), 104 | cls = col.className; 105 | 106 | cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); 107 | col.className = cls; 108 | } 109 | // adds sort indicators for current column being sorted 110 | function addSortIndicators() { 111 | getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; 112 | } 113 | // adds event listeners for all sorter widgets 114 | function enableUI() { 115 | var i, 116 | el, 117 | ithSorter = function ithSorter(i) { 118 | var col = cols[i]; 119 | 120 | return function () { 121 | var desc = col.defaultDescSort; 122 | 123 | if (currentSort.index === i) { 124 | desc = !currentSort.desc; 125 | } 126 | sortByIndex(i, desc); 127 | removeSortIndicators(); 128 | currentSort.index = i; 129 | currentSort.desc = desc; 130 | addSortIndicators(); 131 | }; 132 | }; 133 | for (i =0 ; i < cols.length; i += 1) { 134 | if (cols[i].sortable) { 135 | // add the click event handler on the th so users 136 | // dont have to click on those tiny arrows 137 | el = getNthColumn(i).querySelector('.sorter').parentElement; 138 | if (el.addEventListener) { 139 | el.addEventListener('click', ithSorter(i)); 140 | } else { 141 | el.attachEvent('onclick', ithSorter(i)); 142 | } 143 | } 144 | } 145 | } 146 | // adds sorting functionality to the UI 147 | return function () { 148 | if (!getTable()) { 149 | return; 150 | } 151 | cols = loadColumns(); 152 | loadData(cols); 153 | addSortIndicators(); 154 | enableUI(); 155 | }; 156 | })(); 157 | 158 | window.addEventListener('load', addSorting); 159 | -------------------------------------------------------------------------------- /coverage/lcov.info: -------------------------------------------------------------------------------- 1 | TN: 2 | SF:/Users/andreagiammarchi/code/notify-js/build/notify-js.node.js 3 | FN:56,create 4 | FN:66,(anonymous_2) 5 | FN:70,(anonymous_3) 6 | FN:72,(anonymous_4) 7 | FN:77,indexOf 8 | FN:83,(anonymous_6) 9 | FN:84,(anonymous_7) 10 | FN:88,(anonymous_8) 11 | FN:93,(anonymous_9) 12 | FN:96,(anonymous_10) 13 | FN:103,(anonymous_11) 14 | FN:106,(anonymous_12) 15 | FN:118,get 16 | FN:127,that 17 | FN:139,(anonymous_15) 18 | FN:165,when 19 | FN:168,(anonymous_17) 20 | FN:224,drop 21 | FN:237,(anonymous_19) 22 | FN:245,all 23 | FN:247,fn 24 | FNF:21 25 | FNH:21 26 | FNDA:2,create 27 | FNDA:16,(anonymous_2) 28 | FNDA:15,(anonymous_3) 29 | FNDA:15,(anonymous_4) 30 | FNDA:19,indexOf 31 | FNDA:15,(anonymous_6) 32 | FNDA:15,(anonymous_7) 33 | FNDA:1,(anonymous_8) 34 | FNDA:1,(anonymous_9) 35 | FNDA:1,(anonymous_10) 36 | FNDA:5,(anonymous_11) 37 | FNDA:1,(anonymous_12) 38 | FNDA:35,get 39 | FNDA:17,that 40 | FNDA:2,(anonymous_15) 41 | FNDA:16,when 42 | FNDA:2,(anonymous_17) 43 | FNDA:3,drop 44 | FNDA:1,(anonymous_19) 45 | FNDA:1,all 46 | FNDA:2,fn 47 | DA:56,1 48 | DA:58,2 49 | DA:67,16 50 | DA:71,15 51 | DA:72,15 52 | DA:73,15 53 | DA:78,19 54 | DA:79,19 55 | DA:80,19 56 | DA:84,15 57 | DA:85,15 58 | DA:89,1 59 | DA:94,1 60 | DA:97,1 61 | DA:98,1 62 | DA:99,1 63 | DA:100,1 64 | DA:104,5 65 | DA:107,1 66 | DA:108,1 67 | DA:118,1 68 | DA:119,35 69 | DA:127,1 70 | DA:128,17 71 | DA:136,17 72 | DA:139,2 73 | DA:140,2 74 | DA:141,2 75 | DA:142,2 76 | DA:149,15 77 | DA:150,18 78 | DA:151,15 79 | DA:152,15 80 | DA:159,15 81 | DA:160,15 82 | DA:162,15 83 | DA:165,1 84 | DA:166,16 85 | DA:167,16 86 | DA:168,2 87 | DA:169,2 88 | DA:172,16 89 | DA:173,5 90 | DA:174,11 91 | DA:175,11 92 | DA:177,16 93 | DA:182,2 94 | DA:225,3 95 | DA:226,3 96 | DA:227,1 97 | DA:228,1 98 | DA:230,2 99 | DA:231,2 100 | DA:232,2 101 | DA:238,1 102 | DA:246,1 103 | DA:247,1 104 | DA:248,2 105 | DA:249,2 106 | DA:250,2 107 | DA:251,2 108 | DA:253,1 109 | DA:258,1 110 | LF:63 111 | LH:63 112 | BRDA:62,1,0,2 113 | BRDA:62,1,1,1 114 | BRDA:70,2,0,2 115 | BRDA:70,2,1,1 116 | BRDA:77,3,0,2 117 | BRDA:77,3,1,1 118 | BRDA:79,4,0,19 119 | BRDA:79,4,1,5 120 | BRDA:82,5,0,1 121 | BRDA:82,5,1,1 122 | BRDA:92,6,0,1 123 | BRDA:92,6,1,1 124 | BRDA:98,7,0,1 125 | BRDA:98,7,1,0 126 | BRDA:108,8,0,1 127 | BRDA:108,8,1,0 128 | BRDA:119,9,0,24 129 | BRDA:119,9,1,11 130 | BRDA:136,10,0,2 131 | BRDA:136,10,1,15 132 | BRDA:167,11,0,2 133 | BRDA:167,11,1,14 134 | BRDA:172,12,0,5 135 | BRDA:172,12,1,11 136 | BRDA:172,13,0,16 137 | BRDA:172,13,1,14 138 | BRDA:174,14,0,11 139 | BRDA:174,14,1,0 140 | BRDA:182,15,0,2 141 | BRDA:182,15,1,1 142 | BRDA:226,16,0,1 143 | BRDA:226,16,1,2 144 | BRDA:232,17,0,2 145 | BRDA:232,17,1,0 146 | BRDA:246,18,0,1 147 | BRDA:246,18,1,0 148 | BRF:36 149 | BRH:31 150 | end_of_record 151 | --------------------------------------------------------------------------------