| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- /*
 
- 	MIT License http://www.opensource.org/licenses/mit-license.php
 
- 	Author Tobias Koppers @sokra
 
- */
 
- "use strict";
 
- const NullDependency = require("./NullDependency");
 
- class HarmonyInitDependency extends NullDependency {
 
- 	constructor(originModule) {
 
- 		super();
 
- 		this.originModule = originModule;
 
- 	}
 
- 	get type() {
 
- 		return "harmony init";
 
- 	}
 
- }
 
- module.exports = HarmonyInitDependency;
 
- HarmonyInitDependency.Template = class HarmonyInitDependencyTemplate {
 
- 	apply(dep, source, runtime, dependencyTemplates) {
 
- 		const module = dep.originModule;
 
- 		const list = [];
 
- 		for (const dependency of module.dependencies) {
 
- 			const template = dependencyTemplates.get(dependency.constructor);
 
- 			if (
 
- 				template &&
 
- 				typeof template.harmonyInit === "function" &&
 
- 				typeof template.getHarmonyInitOrder === "function"
 
- 			) {
 
- 				const order = template.getHarmonyInitOrder(dependency);
 
- 				if (!isNaN(order)) {
 
- 					list.push({
 
- 						order,
 
- 						listOrder: list.length,
 
- 						dependency,
 
- 						template
 
- 					});
 
- 				}
 
- 			}
 
- 		}
 
- 		list.sort((a, b) => {
 
- 			const x = a.order - b.order;
 
- 			if (x) return x;
 
- 			return a.listOrder - b.listOrder;
 
- 		});
 
- 		for (const item of list) {
 
- 			item.template.harmonyInit(
 
- 				item.dependency,
 
- 				source,
 
- 				runtime,
 
- 				dependencyTemplates
 
- 			);
 
- 		}
 
- 	}
 
- };
 
 
  |