summaryrefslogtreecommitdiffstats
path: root/node_modules/webpack/lib/Dependency.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/lib/Dependency.js')
-rw-r--r--node_modules/webpack/lib/Dependency.js89
1 files changed, 89 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/Dependency.js b/node_modules/webpack/lib/Dependency.js
new file mode 100644
index 0000000..6d27b1e
--- /dev/null
+++ b/node_modules/webpack/lib/Dependency.js
@@ -0,0 +1,89 @@
+/*
+ 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;