Sha256: af3d938424c7d1e25962adbadcb5a89226ec8142129de97c59a9ab876ab23d24

Contents?: true

Size: 1.17 KB

Versions: 26

Compression:

Stored size: 1.17 KB

Contents

/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
"use strict";

const NullDependency = require("./NullDependency");
const HarmonyImportDependency = require("./HarmonyImportDependency");

class HarmonyAcceptDependency extends NullDependency {
	constructor(range, dependencies, hasCallback) {
		super();
		this.range = range;
		this.dependencies = dependencies;
		this.hasCallback = hasCallback;
	}

	get type() {
		return "accepted harmony modules";
	}
}

HarmonyAcceptDependency.Template = class HarmonyAcceptDependencyTemplate {
	apply(dep, source, runtime) {
		const content = dep.dependencies
			.filter(dependency =>
				HarmonyImportDependency.Template.isImportEmitted(dependency, source)
			)
			.map(dependency => dependency.getImportStatement(true, runtime))
			.join("");

		if (dep.hasCallback) {
			source.insert(
				dep.range[0],
				`function(__WEBPACK_OUTDATED_DEPENDENCIES__) { ${content}(`
			);
			source.insert(
				dep.range[1],
				")(__WEBPACK_OUTDATED_DEPENDENCIES__); }.bind(this)"
			);
			return;
		}

		source.insert(dep.range[1] - 0.5, `, function() { ${content} }`);
	}
};

module.exports = HarmonyAcceptDependency;

Version data entries

26 entries across 25 versions & 8 rubygems

Version Path
ezii-os-5.2.1 node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js
ezii-os-2.0.1 node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js
ezii-os-1.1.0 node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js
ezii-os-1.0.0 node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js
ezii-os-0.0.0.1.0 node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js
ezii-os-0.0.0.0.1 node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js