/*
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;