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