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