aboutsummaryrefslogtreecommitdiff
path: root/node_modules/istanbul-lib-report/lib/file-writer.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/istanbul-lib-report/lib/file-writer.js')
-rw-r--r--node_modules/istanbul-lib-report/lib/file-writer.js185
1 files changed, 0 insertions, 185 deletions
diff --git a/node_modules/istanbul-lib-report/lib/file-writer.js b/node_modules/istanbul-lib-report/lib/file-writer.js
deleted file mode 100644
index 8db627adf..000000000
--- a/node_modules/istanbul-lib-report/lib/file-writer.js
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- Copyright 2012-2015, Yahoo Inc.
- Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
- */
-var util = require('util'),
- path = require('path'),
- fs = require('fs'),
- mkdirp = require('mkdirp'),
- supportsColor = require('supports-color'),
- isAbsolute = path.isAbsolute || /* istanbul ignore next */ function (p) {
- return path.resolve(p) === path.normalize(p);
- };
-
-/**
- * abstract interface for writing content
- * @class ContentWriter
- * @constructor
- */
-/* istanbul ignore next: abstract class */
-function ContentWriter() {
-}
-
-/**
- * writes a string as-is to the destination
- * @param {String} str the string to write
- */
-/* istanbul ignore next: abstract class */
-ContentWriter.prototype.write = function () {
- throw new Error('write: must be overridden');
-};
-
-/**
- * returns the colorized version of a string. Typically,
- * content writers that write to files will return the
- * same string and ones writing to a tty will wrap it in
- * appropriate escape sequences.
- * @param {String} str the string to colorize
- * @param {String} clazz one of `high`, `medium` or `low`
- * @returns {String} the colorized form of the string
- */
-ContentWriter.prototype.colorize = function (str /*, clazz*/) {
- return str;
-};
-
-/**
- * writes a string appended with a newline to the destination
- * @param {String} str the string to write
- */
-ContentWriter.prototype.println = function (str) {
- this.write(str + '\n');
-};
-
-/**
- * closes this content writer. Should be called after all writes are complete.
- */
-ContentWriter.prototype.close = function () {
-};
-
-/**
- * a content writer that writes to a file
- * @param {Number} fd - the file descriptor
- * @extends ContentWriter
- * @constructor
- */
-function FileContentWriter(fd) {
- this.fd = fd;
-}
-util.inherits(FileContentWriter, ContentWriter);
-
-FileContentWriter.prototype.write = function (str) {
- fs.writeSync(this.fd, str);
-};
-
-FileContentWriter.prototype.close = function () {
- fs.closeSync(this.fd);
-};
-
-/**
- * a content writer that writes to the console
- * @extends ContentWriter
- * @constructor
- */
-function ConsoleWriter() {
-}
-util.inherits(ConsoleWriter, ContentWriter);
-
-// allow stdout to be captured for tests.
-var capture = false;
-var output = '';
-ConsoleWriter.prototype.write = function (str) {
- if (capture) {
- output += str;
- } else {
- process.stdout.write(str);
- }
-};
-
-ConsoleWriter.prototype.colorize = function (str, clazz) {
- var colors = {
- low: '31;1',
- medium: '33;1',
- high: '32;1'
- };
-
- /* istanbul ignore next: different modes for CI and local */
- if (supportsColor && colors[clazz]) {
- return '\u001b[' + colors[clazz] + 'm' + str + '\u001b[0m';
- }
- return str;
-};
-
-/**
- * utility for writing files under a specific directory
- * @class FileWriter
- * @param {String} baseDir the base directory under which files should be written
- * @constructor
- */
-function FileWriter(baseDir) {
- if (!baseDir) {
- throw new Error('baseDir must be specified');
- }
- this.baseDir = baseDir;
-}
-
-/**
-* static helpers for capturing stdout report output;
-* super useful for tests!
-*/
-FileWriter.startCapture = function () {
- capture = true;
-};
-FileWriter.stopCapture = function () {
- capture = false;
-};
-FileWriter.getOutput = function () {
- return output;
-};
-FileWriter.resetOutput = function () {
- output = '';
-};
-
-/**
- * returns a FileWriter that is rooted at the supplied subdirectory
- * @param {String} subdir the subdirectory under which to root the
- * returned FileWriter
- * @returns {FileWriter}
- */
-FileWriter.prototype.writerForDir = function (subdir) {
- if (isAbsolute(subdir)) {
- throw new Error('Cannot create subdir writer for absolute path: ' + subdir);
- }
- return new FileWriter(this.baseDir + '/' + subdir);
-};
-/**
- * copies a file from a source directory to a destination name
- * @param {String} source path to source file
- * @param {String} dest relative path to destination file
- */
-FileWriter.prototype.copyFile = function (source, dest) {
- if (isAbsolute(dest)) {
- throw new Error('Cannot write to absolute path: ' + dest);
- }
- dest = path.resolve(this.baseDir, dest);
- mkdirp.sync(path.dirname(dest));
- fs.writeFileSync(dest, fs.readFileSync(source));
-};
-/**
- * returns a content writer for writing content to the supplied file.
- * @param {String|null} file the relative path to the file or the special
- * values `"-"` or `null` for writing to the console
- * @returns {ContentWriter}
- */
-FileWriter.prototype.writeFile = function (file) {
- if (file === null || file === '-') {
- return new ConsoleWriter();
- }
- if (isAbsolute(file)) {
- throw new Error('Cannot write to absolute path: ' + file);
- }
- file = path.resolve(this.baseDir, file);
- mkdirp.sync(path.dirname(file));
- return new FileContentWriter(fs.openSync(file, 'w'));
-};
-
-module.exports = FileWriter;