You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/* MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra */ "use strict";
const util = require("util"); const compareLocations = require("./compareLocations"); const DependencyReference = require("./dependencies/DependencyReference");
/** @typedef {import("./Module")} Module */ /** @typedef {import("webpack-sources").Source} Source */ /** @typedef {import("./RuntimeTemplate")} RuntimeTemplate */
/** * @typedef {Object} DependencyTemplate * @property {function(Dependency, Source, RuntimeTemplate, Map<Function, DependencyTemplate>): void} apply */
/** @typedef {Object} SourcePosition * @property {number} line * @property {number=} column */
/** @typedef {Object} RealDependencyLocation * @property {SourcePosition} start * @property {SourcePosition=} end * @property {number=} index */
/** @typedef {Object} SynteticDependencyLocation * @property {string} name * @property {number=} index */
/** @typedef {SynteticDependencyLocation|RealDependencyLocation} DependencyLocation */
class Dependency { constructor() { /** @type {Module|null} */ this.module = null; // TODO remove in webpack 5
/** @type {boolean} */ this.weak = false; /** @type {boolean} */ this.optional = false; /** @type {DependencyLocation} */ this.loc = undefined; }
getResourceIdentifier() { return null; }
// Returns the referenced module and export
getReference() { if (!this.module) return null; return new DependencyReference(this.module, true, this.weak); }
// Returns the exported names
getExports() { return null; }
getWarnings() { return null; }
getErrors() { return null; }
updateHash(hash) { hash.update((this.module && this.module.id) + ""); }
disconnect() { this.module = null; } }
// TODO remove in webpack 5
Dependency.compare = util.deprecate( (a, b) => compareLocations(a.loc, b.loc), "Dependency.compare is deprecated and will be removed in the next major version" );
module.exports = Dependency;
|