12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
-
- "use strict";
-
-
-
- class DependencyReference {
-
-
-
-
-
- constructor(module, importedNames, weak = false, order = NaN) {
-
- this.module = module;
-
-
-
- this.importedNames = importedNames;
- this.weak = !!weak;
- this.order = order;
- }
-
-
-
- static sort(array) {
-
- const originalOrder = new WeakMap();
- let i = 0;
- for (const ref of array) {
- originalOrder.set(ref, i++);
- }
- return array.sort((a, b) => {
- const aOrder = a.order;
- const bOrder = b.order;
- if (isNaN(aOrder)) {
- if (!isNaN(bOrder)) {
- return 1;
- }
- } else {
- if (isNaN(bOrder)) {
- return -1;
- }
- if (aOrder !== bOrder) {
- return aOrder - bOrder;
- }
- }
- const aOrg = originalOrder.get(a);
- const bOrg = originalOrder.get(b);
- return aOrg - bOrg;
- });
- }
- }
-
- module.exports = DependencyReference;
|