From 7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sun, 28 May 2017 00:38:50 +0200 Subject: add linting (and some initial fixes) --- .../istanbul-lib-source-maps/lib/source-store.js | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 node_modules/istanbul-lib-source-maps/lib/source-store.js (limited to 'node_modules/istanbul-lib-source-maps/lib/source-store.js') diff --git a/node_modules/istanbul-lib-source-maps/lib/source-store.js b/node_modules/istanbul-lib-source-maps/lib/source-store.js new file mode 100644 index 000000000..cb84e9ec8 --- /dev/null +++ b/node_modules/istanbul-lib-source-maps/lib/source-store.js @@ -0,0 +1,80 @@ +var util = require('util'), + os = require('os'), + path = require('path'), + mkdirp = require('mkdirp'), + rimraf = require('rimraf'), + fs = require('fs'); + +function SourceStore(/*opts*/) { +} + +SourceStore.prototype.registerSource = function (/* filePath, sourceText */) { + throw new Error('registerSource must be overridden'); +}; + +SourceStore.prototype.getSource = function (/* filePath */) { + throw new Error('getSource must be overridden'); +}; + +SourceStore.prototype.dispose = function () { +}; + +function MemoryStore() { + this.data = {}; +} + +util.inherits(MemoryStore, SourceStore); + +MemoryStore.prototype.registerSource = function (filePath, sourceText) { + this.data[filePath] = sourceText; +}; + +MemoryStore.prototype.getSource = function (filePath) { + return this.data[filePath] || null; +}; + +function FileStore(opts) { + opts = opts || {}; + var tmpDir = opts.tmpdir || os.tmpdir(); + this.counter = 0; + this.mappings = []; + this.basePath = path.resolve(tmpDir, '.istanbul', 'cache_'); + mkdirp.sync(path.dirname(this.basePath)); +} + +util.inherits(FileStore, SourceStore); + +FileStore.prototype.registerSource = function (filePath, sourceText) { + if (this.mappings[filePath]) { + return; + } + this.counter += 1; + var mapFile = this.basePath + this.counter; + this.mappings[filePath] = mapFile; + fs.writeFileSync(mapFile, sourceText, 'utf8'); +}; + +FileStore.prototype.getSource = function (filePath) { + var mapFile = this.mappings[filePath]; + if (!mapFile) { + return null; + } + return fs.readFileSync(mapFile, 'utf8'); +}; + +FileStore.prototype.dispose = function () { + this.mappings = []; + rimraf.sync(path.dirname(this.basePath)); +}; + +module.exports = { + create: function (type, opts) { + opts = opts || {}; + type = (type || 'memory').toLowerCase(); + + if (type === 'file') { + return new FileStore(opts); + } + return new MemoryStore(opts); + } +}; -- cgit v1.2.3