/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; class Source { source() { throw new Error("Abstract"); } buffer() { const source = this.source(); if (Buffer.isBuffer(source)) return source; return Buffer.from(source, "utf-8"); } size() { return this.buffer().length; } map(options) { return null; } sourceAndMap(options) { return { source: this.source(), map: this.map(options) }; } updateHash(hash) { throw new Error("Abstract"); } } module.exports = Source;