| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- /*
 
- 	MIT License http://www.opensource.org/licenses/mit-license.php
 
- 	Author Tobias Koppers @sokra
 
- */
 
- "use strict";
 
- /**
 
-  * @typedef {object} MapOptions
 
-  * @property {boolean=} columns need columns?
 
-  * @property {boolean=} module is module
 
-  */
 
- /**
 
-  * @typedef {object} RawSourceMap
 
-  * @property {number} version version
 
-  * @property {string[]} sources sources
 
-  * @property {string[]} names names
 
-  * @property {string=} sourceRoot source root
 
-  * @property {string[]=} sourcesContent sources content
 
-  * @property {string} mappings mappings
 
-  * @property {string} file file
 
-  * @property {string=} debugId debug id
 
-  * @property {number[]=} ignoreList ignore list
 
-  */
 
- /** @typedef {string | Buffer} SourceValue */
 
- /**
 
-  * @typedef {object} SourceAndMap
 
-  * @property {SourceValue} source source
 
-  * @property {RawSourceMap | null} map map
 
-  */
 
- /**
 
-  * @typedef {object} HashLike
 
-  * @property {(data: string | Buffer, inputEncoding?: string) => HashLike} update make hash update
 
-  * @property {(encoding?: string) => string | Buffer} digest get hash digest
 
-  */
 
- class Source {
 
- 	/**
 
- 	 * @returns {SourceValue} source
 
- 	 */
 
- 	source() {
 
- 		throw new Error("Abstract");
 
- 	}
 
- 	buffer() {
 
- 		const source = this.source();
 
- 		if (Buffer.isBuffer(source)) return source;
 
- 		return Buffer.from(source, "utf8");
 
- 	}
 
- 	size() {
 
- 		return this.buffer().length;
 
- 	}
 
- 	/**
 
- 	 * @param {MapOptions=} options map options
 
- 	 * @returns {RawSourceMap | null} map
 
- 	 */
 
- 	// eslint-disable-next-line no-unused-vars
 
- 	map(options) {
 
- 		return null;
 
- 	}
 
- 	/**
 
- 	 * @param {MapOptions=} options map options
 
- 	 * @returns {SourceAndMap} source and map
 
- 	 */
 
- 	sourceAndMap(options) {
 
- 		return {
 
- 			source: this.source(),
 
- 			map: this.map(options),
 
- 		};
 
- 	}
 
- 	/**
 
- 	 * @param {HashLike} hash hash
 
- 	 * @returns {void}
 
- 	 */
 
- 	// eslint-disable-next-line no-unused-vars
 
- 	updateHash(hash) {
 
- 		throw new Error("Abstract");
 
- 	}
 
- }
 
- module.exports = Source;
 
 
  |