UNPKG

react-router-ga

Version:

[![Downloads](https://img.shields.io/npm/dm/react-router-ga)](https://npm.im/react-router-ga) [![Version](https://img.shields.io/npm/v/react-router-ga)](https://npm.im/react-router-ga) [![License](https://img.shields.io/npm/l/react-router-ga)](https://ope

61 lines (53 loc) 1.29 kB
/* 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 ); } } };