UNPKG

again

Version:

call function again and again

115 lines (114 loc) 4.66 kB
/* automatically generated by JSCoverage - do not edit */ if (typeof _$jscoverage === 'undefined') _$jscoverage = {}; if (! _$jscoverage['again.js']) { _$jscoverage['again.js'] = []; _$jscoverage['again.js'][5] = 0; _$jscoverage['again.js'][6] = 0; _$jscoverage['again.js'][7] = 0; _$jscoverage['again.js'][10] = 0; _$jscoverage['again.js'][11] = 0; _$jscoverage['again.js'][12] = 0; _$jscoverage['again.js'][13] = 0; _$jscoverage['again.js'][16] = 0; _$jscoverage['again.js'][17] = 0; _$jscoverage['again.js'][18] = 0; _$jscoverage['again.js'][20] = 0; _$jscoverage['again.js'][21] = 0; _$jscoverage['again.js'][23] = 0; _$jscoverage['again.js'][24] = 0; _$jscoverage['again.js'][25] = 0; _$jscoverage['again.js'][26] = 0; _$jscoverage['again.js'][27] = 0; _$jscoverage['again.js'][28] = 0; _$jscoverage['again.js'][29] = 0; _$jscoverage['again.js'][30] = 0; _$jscoverage['again.js'][32] = 0; _$jscoverage['again.js'][33] = 0; _$jscoverage['again.js'][34] = 0; _$jscoverage['again.js'][36] = 0; _$jscoverage['again.js'][37] = 0; _$jscoverage['again.js'][38] = 0; _$jscoverage['again.js'][39] = 0; _$jscoverage['again.js'][40] = 0; _$jscoverage['again.js'][41] = 0; _$jscoverage['again.js'][42] = 0; _$jscoverage['again.js'][43] = 0; _$jscoverage['again.js'][48] = 0; _$jscoverage['again.js'][51] = 0; } _$jscoverage['again.js'][5]++; var crypto = require("crypto"); _$jscoverage['again.js'][6]++; var __program = {}; _$jscoverage['again.js'][7]++; var __timer = {}; _$jscoverage['again.js'][10]++; function md5(str) { _$jscoverage['again.js'][11]++; var hash = crypto.createHash("md5"); _$jscoverage['again.js'][12]++; str += new Date().getTime(); _$jscoverage['again.js'][13]++; return hash.update(str, "utf-8").digest("hex"); } _$jscoverage['again.js'][16]++; function abort(key) { _$jscoverage['again.js'][17]++; clearInterval(__program[key]); _$jscoverage['again.js'][18]++; delete __timer[key]; } _$jscoverage['again.js'][20]++; function again(func, interval, times) { _$jscoverage['again.js'][21]++; interval = interval || 1000; _$jscoverage['again.js'][23]++; var f = (function () { _$jscoverage['again.js'][24]++; var that = this; _$jscoverage['again.js'][25]++; var args = f.arguments; _$jscoverage['again.js'][26]++; func.apply(that, args); _$jscoverage['again.js'][27]++; var key = md5(func.toString()); _$jscoverage['again.js'][28]++; var obj = {}; _$jscoverage['again.js'][29]++; if (times === 1) { _$jscoverage['again.js'][30]++; return; } _$jscoverage['again.js'][32]++; if (times > 1) { _$jscoverage['again.js'][33]++; obj.times = times; _$jscoverage['again.js'][34]++; obj.count = 0; } _$jscoverage['again.js'][36]++; __timer[key] = obj; _$jscoverage['again.js'][37]++; __program[key] = setInterval((function () { _$jscoverage['again.js'][38]++; func.apply(that, args); _$jscoverage['again.js'][39]++; if (__timer[key] && __timer[key].times) { _$jscoverage['again.js'][40]++; var obj = __timer[key]; _$jscoverage['again.js'][41]++; obj.count++; _$jscoverage['again.js'][42]++; if ((obj.times - 1) <= obj.count) { _$jscoverage['again.js'][43]++; abort(key); } } }), interval); }); _$jscoverage['again.js'][48]++; return f; } _$jscoverage['again.js'][51]++; module.exports = again; _$jscoverage['again.js'].source = ["","/**"," * Module dependencies."," */","var crypto = require('crypto');","var __program = {};","var __timer = {};","","","function md5(str){"," var hash = crypto.createHash('md5');"," str += new Date().getTime();"," return hash.update(str, 'utf-8').digest('hex'); ","}","","function abort(key){"," clearInterval(__program[key]);"," delete __timer[key];","}","function again(func, interval, times){"," interval = interval || 1000;",""," var f = function () {"," var that = this;"," var args = f.arguments;"," func.apply(that, args); //&#230;&#137;&#167;&#232;&#161;&#140;&#228;&#184;&#128;&#230;&#172;&#161;"," var key = md5(func.toString());"," var obj = {};"," if (times === 1) {"," return;"," }"," if (times &gt; 1) {"," obj.times = times;"," obj.count = 0;"," }"," __timer[key] = obj;"," __program[key] = setInterval(function () {"," func.apply(that, args);"," if (__timer[key] &amp;&amp; __timer[key].times) {"," var obj = __timer[key];"," obj.count++;"," if ((obj.times - 1) &lt;= obj.count) {"," abort(key);"," }"," }"," }, interval)"," }"," return f;","}","","module.exports = again;"];