BaseRollingFileStream.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /* automatically generated by JSCoverage - do not edit */
  2. if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
  3. if (! _$jscoverage['streams/BaseRollingFileStream.js']) {
  4. _$jscoverage['streams/BaseRollingFileStream.js'] = [];
  5. _$jscoverage['streams/BaseRollingFileStream.js'][1] = 0;
  6. _$jscoverage['streams/BaseRollingFileStream.js'][2] = 0;
  7. _$jscoverage['streams/BaseRollingFileStream.js'][8] = 0;
  8. _$jscoverage['streams/BaseRollingFileStream.js'][9] = 0;
  9. _$jscoverage['streams/BaseRollingFileStream.js'][11] = 0;
  10. _$jscoverage['streams/BaseRollingFileStream.js'][14] = 0;
  11. _$jscoverage['streams/BaseRollingFileStream.js'][16] = 0;
  12. _$jscoverage['streams/BaseRollingFileStream.js'][17] = 0;
  13. _$jscoverage['streams/BaseRollingFileStream.js'][18] = 0;
  14. _$jscoverage['streams/BaseRollingFileStream.js'][19] = 0;
  15. _$jscoverage['streams/BaseRollingFileStream.js'][20] = 0;
  16. _$jscoverage['streams/BaseRollingFileStream.js'][22] = 0;
  17. _$jscoverage['streams/BaseRollingFileStream.js'][23] = 0;
  18. _$jscoverage['streams/BaseRollingFileStream.js'][24] = 0;
  19. _$jscoverage['streams/BaseRollingFileStream.js'][25] = 0;
  20. _$jscoverage['streams/BaseRollingFileStream.js'][29] = 0;
  21. _$jscoverage['streams/BaseRollingFileStream.js'][32] = 0;
  22. _$jscoverage['streams/BaseRollingFileStream.js'][33] = 0;
  23. _$jscoverage['streams/BaseRollingFileStream.js'][34] = 0;
  24. _$jscoverage['streams/BaseRollingFileStream.js'][38] = 0;
  25. _$jscoverage['streams/BaseRollingFileStream.js'][39] = 0;
  26. _$jscoverage['streams/BaseRollingFileStream.js'][40] = 0;
  27. _$jscoverage['streams/BaseRollingFileStream.js'][41] = 0;
  28. _$jscoverage['streams/BaseRollingFileStream.js'][42] = 0;
  29. _$jscoverage['streams/BaseRollingFileStream.js'][44] = 0;
  30. _$jscoverage['streams/BaseRollingFileStream.js'][46] = 0;
  31. _$jscoverage['streams/BaseRollingFileStream.js'][47] = 0;
  32. _$jscoverage['streams/BaseRollingFileStream.js'][48] = 0;
  33. _$jscoverage['streams/BaseRollingFileStream.js'][49] = 0;
  34. _$jscoverage['streams/BaseRollingFileStream.js'][50] = 0;
  35. _$jscoverage['streams/BaseRollingFileStream.js'][51] = 0;
  36. _$jscoverage['streams/BaseRollingFileStream.js'][54] = 0;
  37. _$jscoverage['streams/BaseRollingFileStream.js'][56] = 0;
  38. _$jscoverage['streams/BaseRollingFileStream.js'][57] = 0;
  39. _$jscoverage['streams/BaseRollingFileStream.js'][58] = 0;
  40. _$jscoverage['streams/BaseRollingFileStream.js'][60] = 0;
  41. _$jscoverage['streams/BaseRollingFileStream.js'][64] = 0;
  42. _$jscoverage['streams/BaseRollingFileStream.js'][65] = 0;
  43. _$jscoverage['streams/BaseRollingFileStream.js'][66] = 0;
  44. _$jscoverage['streams/BaseRollingFileStream.js'][67] = 0;
  45. _$jscoverage['streams/BaseRollingFileStream.js'][68] = 0;
  46. _$jscoverage['streams/BaseRollingFileStream.js'][72] = 0;
  47. _$jscoverage['streams/BaseRollingFileStream.js'][73] = 0;
  48. _$jscoverage['streams/BaseRollingFileStream.js'][74] = 0;
  49. _$jscoverage['streams/BaseRollingFileStream.js'][77] = 0;
  50. _$jscoverage['streams/BaseRollingFileStream.js'][78] = 0;
  51. _$jscoverage['streams/BaseRollingFileStream.js'][81] = 0;
  52. _$jscoverage['streams/BaseRollingFileStream.js'][82] = 0;
  53. }
  54. _$jscoverage['streams/BaseRollingFileStream.js'][1]++;
  55. "use strict";
  56. _$jscoverage['streams/BaseRollingFileStream.js'][2]++;
  57. var fs = require("fs"), stream, debug = require("../debug")("BaseRollingFileStream"), util = require("util"), semver = require("semver");
  58. _$jscoverage['streams/BaseRollingFileStream.js'][8]++;
  59. if (semver.satisfies(process.version, ">=0.10.0")) {
  60. _$jscoverage['streams/BaseRollingFileStream.js'][9]++;
  61. stream = require("stream");
  62. }
  63. else {
  64. _$jscoverage['streams/BaseRollingFileStream.js'][11]++;
  65. stream = require("readable-stream");
  66. }
  67. _$jscoverage['streams/BaseRollingFileStream.js'][14]++;
  68. module.exports = BaseRollingFileStream;
  69. _$jscoverage['streams/BaseRollingFileStream.js'][16]++;
  70. function BaseRollingFileStream(filename, options) {
  71. _$jscoverage['streams/BaseRollingFileStream.js'][17]++;
  72. debug("In BaseRollingFileStream");
  73. _$jscoverage['streams/BaseRollingFileStream.js'][18]++;
  74. this.filename = filename;
  75. _$jscoverage['streams/BaseRollingFileStream.js'][19]++;
  76. this.options = options || {encoding: "utf8", mode: parseInt("0644", 8), flags: "a"};
  77. _$jscoverage['streams/BaseRollingFileStream.js'][20]++;
  78. this.currentSize = 0;
  79. _$jscoverage['streams/BaseRollingFileStream.js'][22]++;
  80. function currentFileSize(file) {
  81. _$jscoverage['streams/BaseRollingFileStream.js'][23]++;
  82. var fileSize = 0;
  83. _$jscoverage['streams/BaseRollingFileStream.js'][24]++;
  84. try {
  85. _$jscoverage['streams/BaseRollingFileStream.js'][25]++;
  86. fileSize = fs.statSync(file).size;
  87. }
  88. catch (e) {
  89. }
  90. _$jscoverage['streams/BaseRollingFileStream.js'][29]++;
  91. return fileSize;
  92. }
  93. _$jscoverage['streams/BaseRollingFileStream.js'][32]++;
  94. function throwErrorIfArgumentsAreNotValid() {
  95. _$jscoverage['streams/BaseRollingFileStream.js'][33]++;
  96. if (! filename) {
  97. _$jscoverage['streams/BaseRollingFileStream.js'][34]++;
  98. throw new Error("You must specify a filename");
  99. }
  100. }
  101. _$jscoverage['streams/BaseRollingFileStream.js'][38]++;
  102. throwErrorIfArgumentsAreNotValid();
  103. _$jscoverage['streams/BaseRollingFileStream.js'][39]++;
  104. debug("Calling BaseRollingFileStream.super");
  105. _$jscoverage['streams/BaseRollingFileStream.js'][40]++;
  106. BaseRollingFileStream.super_.call(this);
  107. _$jscoverage['streams/BaseRollingFileStream.js'][41]++;
  108. this.openTheStream();
  109. _$jscoverage['streams/BaseRollingFileStream.js'][42]++;
  110. this.currentSize = currentFileSize(this.filename);
  111. }
  112. _$jscoverage['streams/BaseRollingFileStream.js'][44]++;
  113. util.inherits(BaseRollingFileStream, stream.Writable);
  114. _$jscoverage['streams/BaseRollingFileStream.js'][46]++;
  115. BaseRollingFileStream.prototype._write = (function (chunk, encoding, callback) {
  116. _$jscoverage['streams/BaseRollingFileStream.js'][47]++;
  117. var that = this;
  118. _$jscoverage['streams/BaseRollingFileStream.js'][48]++;
  119. function writeTheChunk() {
  120. _$jscoverage['streams/BaseRollingFileStream.js'][49]++;
  121. debug("writing the chunk to the underlying stream");
  122. _$jscoverage['streams/BaseRollingFileStream.js'][50]++;
  123. that.currentSize += chunk.length;
  124. _$jscoverage['streams/BaseRollingFileStream.js'][51]++;
  125. that.theStream.write(chunk, encoding, callback);
  126. }
  127. _$jscoverage['streams/BaseRollingFileStream.js'][54]++;
  128. debug("in _write");
  129. _$jscoverage['streams/BaseRollingFileStream.js'][56]++;
  130. if (this.shouldRoll()) {
  131. _$jscoverage['streams/BaseRollingFileStream.js'][57]++;
  132. this.currentSize = 0;
  133. _$jscoverage['streams/BaseRollingFileStream.js'][58]++;
  134. this.roll(this.filename, writeTheChunk);
  135. }
  136. else {
  137. _$jscoverage['streams/BaseRollingFileStream.js'][60]++;
  138. writeTheChunk();
  139. }
  140. });
  141. _$jscoverage['streams/BaseRollingFileStream.js'][64]++;
  142. BaseRollingFileStream.prototype.openTheStream = (function (cb) {
  143. _$jscoverage['streams/BaseRollingFileStream.js'][65]++;
  144. debug("opening the underlying stream");
  145. _$jscoverage['streams/BaseRollingFileStream.js'][66]++;
  146. this.theStream = fs.createWriteStream(this.filename, this.options);
  147. _$jscoverage['streams/BaseRollingFileStream.js'][67]++;
  148. if (cb) {
  149. _$jscoverage['streams/BaseRollingFileStream.js'][68]++;
  150. this.theStream.on("open", cb);
  151. }
  152. });
  153. _$jscoverage['streams/BaseRollingFileStream.js'][72]++;
  154. BaseRollingFileStream.prototype.closeTheStream = (function (cb) {
  155. _$jscoverage['streams/BaseRollingFileStream.js'][73]++;
  156. debug("closing the underlying stream");
  157. _$jscoverage['streams/BaseRollingFileStream.js'][74]++;
  158. this.theStream.end(cb);
  159. });
  160. _$jscoverage['streams/BaseRollingFileStream.js'][77]++;
  161. BaseRollingFileStream.prototype.shouldRoll = (function () {
  162. _$jscoverage['streams/BaseRollingFileStream.js'][78]++;
  163. return false;
  164. });
  165. _$jscoverage['streams/BaseRollingFileStream.js'][81]++;
  166. BaseRollingFileStream.prototype.roll = (function (filename, callback) {
  167. _$jscoverage['streams/BaseRollingFileStream.js'][82]++;
  168. callback();
  169. });
  170. _$jscoverage['streams/BaseRollingFileStream.js'].source = ["\"use strict\";","var fs = require('fs')",", stream",", debug = require('../debug')('BaseRollingFileStream')",", util = require('util')",", semver = require('semver');","","if (semver.satisfies(process.version, '>=0.10.0')) {"," stream = require('stream');","} else {"," stream = require('readable-stream');","}","","module.exports = BaseRollingFileStream;","","function BaseRollingFileStream(filename, options) {"," debug(\"In BaseRollingFileStream\");"," this.filename = filename;"," this.options = options || { encoding: 'utf8', mode: parseInt('0644', 8), flags: 'a' };"," this.currentSize = 0;"," "," function currentFileSize(file) {"," var fileSize = 0;"," try {"," fileSize = fs.statSync(file).size;"," } catch (e) {"," // file does not exist"," }"," return fileSize;"," }",""," function throwErrorIfArgumentsAreNotValid() {"," if (!filename) {"," throw new Error(\"You must specify a filename\");"," }"," }",""," throwErrorIfArgumentsAreNotValid();"," debug(\"Calling BaseRollingFileStream.super\");"," BaseRollingFileStream.super_.call(this);"," this.openTheStream();"," this.currentSize = currentFileSize(this.filename);","}","util.inherits(BaseRollingFileStream, stream.Writable);","","BaseRollingFileStream.prototype._write = function(chunk, encoding, callback) {"," var that = this;"," function writeTheChunk() {"," debug(\"writing the chunk to the underlying stream\");"," that.currentSize += chunk.length;"," that.theStream.write(chunk, encoding, callback);"," }",""," debug(\"in _write\");",""," if (this.shouldRoll()) {"," this.currentSize = 0;"," this.roll(this.filename, writeTheChunk);"," } else {"," writeTheChunk();"," }","};","","BaseRollingFileStream.prototype.openTheStream = function(cb) {"," debug(\"opening the underlying stream\");"," this.theStream = fs.createWriteStream(this.filename, this.options);"," if (cb) {"," this.theStream.on(\"open\", cb);"," }","};","","BaseRollingFileStream.prototype.closeTheStream = function(cb) {"," debug(\"closing the underlying stream\");"," this.theStream.end(cb);","};","","BaseRollingFileStream.prototype.shouldRoll = function() {"," return false; // default behaviour is never to roll","};","","BaseRollingFileStream.prototype.roll = function(filename, callback) {"," callback(); // default behaviour is not to do anything","};",""];