DateRollingFileStream.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. /* automatically generated by JSCoverage - do not edit */
  2. if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
  3. if (! _$jscoverage['streams/DateRollingFileStream.js']) {
  4. _$jscoverage['streams/DateRollingFileStream.js'] = [];
  5. _$jscoverage['streams/DateRollingFileStream.js'][1] = 0;
  6. _$jscoverage['streams/DateRollingFileStream.js'][2] = 0;
  7. _$jscoverage['streams/DateRollingFileStream.js'][9] = 0;
  8. _$jscoverage['streams/DateRollingFileStream.js'][11] = 0;
  9. _$jscoverage['streams/DateRollingFileStream.js'][12] = 0;
  10. _$jscoverage['streams/DateRollingFileStream.js'][13] = 0;
  11. _$jscoverage['streams/DateRollingFileStream.js'][14] = 0;
  12. _$jscoverage['streams/DateRollingFileStream.js'][15] = 0;
  13. _$jscoverage['streams/DateRollingFileStream.js'][16] = 0;
  14. _$jscoverage['streams/DateRollingFileStream.js'][18] = 0;
  15. _$jscoverage['streams/DateRollingFileStream.js'][19] = 0;
  16. _$jscoverage['streams/DateRollingFileStream.js'][20] = 0;
  17. _$jscoverage['streams/DateRollingFileStream.js'][21] = 0;
  18. _$jscoverage['streams/DateRollingFileStream.js'][22] = 0;
  19. _$jscoverage['streams/DateRollingFileStream.js'][24] = 0;
  20. _$jscoverage['streams/DateRollingFileStream.js'][25] = 0;
  21. _$jscoverage['streams/DateRollingFileStream.js'][26] = 0;
  22. _$jscoverage['streams/DateRollingFileStream.js'][27] = 0;
  23. _$jscoverage['streams/DateRollingFileStream.js'][29] = 0;
  24. _$jscoverage['streams/DateRollingFileStream.js'][30] = 0;
  25. _$jscoverage['streams/DateRollingFileStream.js'][31] = 0;
  26. _$jscoverage['streams/DateRollingFileStream.js'][34] = 0;
  27. _$jscoverage['streams/DateRollingFileStream.js'][36] = 0;
  28. _$jscoverage['streams/DateRollingFileStream.js'][38] = 0;
  29. _$jscoverage['streams/DateRollingFileStream.js'][40] = 0;
  30. _$jscoverage['streams/DateRollingFileStream.js'][41] = 0;
  31. _$jscoverage['streams/DateRollingFileStream.js'][44] = 0;
  32. _$jscoverage['streams/DateRollingFileStream.js'][47] = 0;
  33. _$jscoverage['streams/DateRollingFileStream.js'][48] = 0;
  34. _$jscoverage['streams/DateRollingFileStream.js'][50] = 0;
  35. _$jscoverage['streams/DateRollingFileStream.js'][53] = 0;
  36. _$jscoverage['streams/DateRollingFileStream.js'][54] = 0;
  37. _$jscoverage['streams/DateRollingFileStream.js'][56] = 0;
  38. _$jscoverage['streams/DateRollingFileStream.js'][58] = 0;
  39. _$jscoverage['streams/DateRollingFileStream.js'][59] = 0;
  40. _$jscoverage['streams/DateRollingFileStream.js'][60] = 0;
  41. _$jscoverage['streams/DateRollingFileStream.js'][65] = 0;
  42. _$jscoverage['streams/DateRollingFileStream.js'][66] = 0;
  43. _$jscoverage['streams/DateRollingFileStream.js'][74] = 0;
  44. _$jscoverage['streams/DateRollingFileStream.js'][77] = 0;
  45. _$jscoverage['streams/DateRollingFileStream.js'][79] = 0;
  46. _$jscoverage['streams/DateRollingFileStream.js'][83] = 0;
  47. _$jscoverage['streams/DateRollingFileStream.js'][84] = 0;
  48. _$jscoverage['streams/DateRollingFileStream.js'][85] = 0;
  49. }
  50. _$jscoverage['streams/DateRollingFileStream.js'][1]++;
  51. "use strict";
  52. _$jscoverage['streams/DateRollingFileStream.js'][2]++;
  53. var BaseRollingFileStream = require("./BaseRollingFileStream"), debug = require("../debug")("DateRollingFileStream"), format = require("../date_format"), async = require("async"), fs = require("fs"), util = require("util");
  54. _$jscoverage['streams/DateRollingFileStream.js'][9]++;
  55. module.exports = DateRollingFileStream;
  56. _$jscoverage['streams/DateRollingFileStream.js'][11]++;
  57. function DateRollingFileStream(filename, pattern, options, now) {
  58. _$jscoverage['streams/DateRollingFileStream.js'][12]++;
  59. debug("Now is " + now);
  60. _$jscoverage['streams/DateRollingFileStream.js'][13]++;
  61. if (pattern && typeof pattern === "object") {
  62. _$jscoverage['streams/DateRollingFileStream.js'][14]++;
  63. now = options;
  64. _$jscoverage['streams/DateRollingFileStream.js'][15]++;
  65. options = pattern;
  66. _$jscoverage['streams/DateRollingFileStream.js'][16]++;
  67. pattern = null;
  68. }
  69. _$jscoverage['streams/DateRollingFileStream.js'][18]++;
  70. this.pattern = pattern || ".yyyy-MM-dd";
  71. _$jscoverage['streams/DateRollingFileStream.js'][19]++;
  72. this.now = now || Date.now;
  73. _$jscoverage['streams/DateRollingFileStream.js'][20]++;
  74. this.lastTimeWeWroteSomething = format.asString(this.pattern, new Date(this.now()));
  75. _$jscoverage['streams/DateRollingFileStream.js'][21]++;
  76. this.baseFilename = filename;
  77. _$jscoverage['streams/DateRollingFileStream.js'][22]++;
  78. this.alwaysIncludePattern = false;
  79. _$jscoverage['streams/DateRollingFileStream.js'][24]++;
  80. if (options) {
  81. _$jscoverage['streams/DateRollingFileStream.js'][25]++;
  82. if (options.alwaysIncludePattern) {
  83. _$jscoverage['streams/DateRollingFileStream.js'][26]++;
  84. this.alwaysIncludePattern = true;
  85. _$jscoverage['streams/DateRollingFileStream.js'][27]++;
  86. filename = this.baseFilename + this.lastTimeWeWroteSomething;
  87. }
  88. _$jscoverage['streams/DateRollingFileStream.js'][29]++;
  89. delete options.alwaysIncludePattern;
  90. _$jscoverage['streams/DateRollingFileStream.js'][30]++;
  91. if (Object.keys(options).length === 0) {
  92. _$jscoverage['streams/DateRollingFileStream.js'][31]++;
  93. options = null;
  94. }
  95. }
  96. _$jscoverage['streams/DateRollingFileStream.js'][34]++;
  97. debug("this.now is " + this.now + ", now is " + now);
  98. _$jscoverage['streams/DateRollingFileStream.js'][36]++;
  99. DateRollingFileStream.super_.call(this, filename, options);
  100. }
  101. _$jscoverage['streams/DateRollingFileStream.js'][38]++;
  102. util.inherits(DateRollingFileStream, BaseRollingFileStream);
  103. _$jscoverage['streams/DateRollingFileStream.js'][40]++;
  104. DateRollingFileStream.prototype.shouldRoll = (function () {
  105. _$jscoverage['streams/DateRollingFileStream.js'][41]++;
  106. var lastTime = this.lastTimeWeWroteSomething, thisTime = format.asString(this.pattern, new Date(this.now()));
  107. _$jscoverage['streams/DateRollingFileStream.js'][44]++;
  108. debug("DateRollingFileStream.shouldRoll with now = " + this.now() + ", thisTime = " + thisTime + ", lastTime = " + lastTime);
  109. _$jscoverage['streams/DateRollingFileStream.js'][47]++;
  110. this.lastTimeWeWroteSomething = thisTime;
  111. _$jscoverage['streams/DateRollingFileStream.js'][48]++;
  112. this.previousTime = lastTime;
  113. _$jscoverage['streams/DateRollingFileStream.js'][50]++;
  114. return thisTime !== lastTime;
  115. });
  116. _$jscoverage['streams/DateRollingFileStream.js'][53]++;
  117. DateRollingFileStream.prototype.roll = (function (filename, callback) {
  118. _$jscoverage['streams/DateRollingFileStream.js'][54]++;
  119. var that = this;
  120. _$jscoverage['streams/DateRollingFileStream.js'][56]++;
  121. debug("Starting roll");
  122. _$jscoverage['streams/DateRollingFileStream.js'][58]++;
  123. if (this.alwaysIncludePattern) {
  124. _$jscoverage['streams/DateRollingFileStream.js'][59]++;
  125. this.filename = this.baseFilename + this.lastTimeWeWroteSomething;
  126. _$jscoverage['streams/DateRollingFileStream.js'][60]++;
  127. async.series([this.closeTheStream.bind(this), this.openTheStream.bind(this)], callback);
  128. }
  129. else {
  130. _$jscoverage['streams/DateRollingFileStream.js'][65]++;
  131. var newFilename = this.baseFilename + this.previousTime;
  132. _$jscoverage['streams/DateRollingFileStream.js'][66]++;
  133. async.series([this.closeTheStream.bind(this), deleteAnyExistingFile, renameTheCurrentFile, this.openTheStream.bind(this)], callback);
  134. }
  135. _$jscoverage['streams/DateRollingFileStream.js'][74]++;
  136. function deleteAnyExistingFile(cb) {
  137. _$jscoverage['streams/DateRollingFileStream.js'][77]++;
  138. fs.unlink(newFilename, (function (err) {
  139. _$jscoverage['streams/DateRollingFileStream.js'][79]++;
  140. cb();
  141. }));
  142. }
  143. _$jscoverage['streams/DateRollingFileStream.js'][83]++;
  144. function renameTheCurrentFile(cb) {
  145. _$jscoverage['streams/DateRollingFileStream.js'][84]++;
  146. debug("Renaming the " + filename + " -> " + newFilename);
  147. _$jscoverage['streams/DateRollingFileStream.js'][85]++;
  148. fs.rename(filename, newFilename, cb);
  149. }
  150. });
  151. _$jscoverage['streams/DateRollingFileStream.js'].source = ["\"use strict\";","var BaseRollingFileStream = require('./BaseRollingFileStream')",", debug = require('../debug')('DateRollingFileStream')",", format = require('../date_format')",", async = require('async')",", fs = require('fs')",", util = require('util');","","module.exports = DateRollingFileStream;","","function DateRollingFileStream(filename, pattern, options, now) {"," debug(\"Now is \" + now);"," if (pattern && typeof(pattern) === 'object') {"," now = options;"," options = pattern;"," pattern = null;"," }"," this.pattern = pattern || '.yyyy-MM-dd';"," this.now = now || Date.now;"," this.lastTimeWeWroteSomething = format.asString(this.pattern, new Date(this.now()));"," this.baseFilename = filename;"," this.alwaysIncludePattern = false;"," "," if (options) {"," if (options.alwaysIncludePattern) {"," this.alwaysIncludePattern = true;"," filename = this.baseFilename + this.lastTimeWeWroteSomething;"," }"," delete options.alwaysIncludePattern;"," if (Object.keys(options).length === 0) { "," options = null; "," }"," }"," debug(\"this.now is \" + this.now + \", now is \" + now);"," "," DateRollingFileStream.super_.call(this, filename, options);","}","util.inherits(DateRollingFileStream, BaseRollingFileStream);","","DateRollingFileStream.prototype.shouldRoll = function() {"," var lastTime = this.lastTimeWeWroteSomething,"," thisTime = format.asString(this.pattern, new Date(this.now()));"," "," debug(\"DateRollingFileStream.shouldRoll with now = \" + "," this.now() + \", thisTime = \" + thisTime + \", lastTime = \" + lastTime);"," "," this.lastTimeWeWroteSomething = thisTime;"," this.previousTime = lastTime;"," "," return thisTime !== lastTime;","};","","DateRollingFileStream.prototype.roll = function(filename, callback) {"," var that = this;"," "," debug(\"Starting roll\");"," "," if (this.alwaysIncludePattern) {"," this.filename = this.baseFilename + this.lastTimeWeWroteSomething;"," async.series(["," this.closeTheStream.bind(this),"," this.openTheStream.bind(this)"," ], callback);"," } else {"," var newFilename = this.baseFilename + this.previousTime;"," async.series(["," this.closeTheStream.bind(this),"," deleteAnyExistingFile,"," renameTheCurrentFile,"," this.openTheStream.bind(this)"," ], callback);"," }"," "," function deleteAnyExistingFile(cb) {"," //on windows, you can get a EEXIST error if you rename a file to an existing file"," //so, we'll try to delete the file we're renaming to first"," fs.unlink(newFilename, function (err) {"," //ignore err: if we could not delete, it's most likely that it doesn't exist"," cb();"," });"," }",""," function renameTheCurrentFile(cb) {"," debug(\"Renaming the \" + filename + \" -> \" + newFilename);"," fs.rename(filename, newFilename, cb);"," }","","};"];