@eggjs/tegg-common-util 4.0.0-beta.9 → 4.0.2-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FSUtil.d.ts +5 -2
- package/dist/FSUtil.js +16 -13
- package/dist/Graph.d.ts +42 -62
- package/dist/Graph.js +121 -159
- package/dist/MapUtil.d.ts +5 -2
- package/dist/MapUtil.js +10 -9
- package/dist/ModuleConfig.d.ts +28 -18
- package/dist/ModuleConfig.js +257 -280
- package/dist/ModuleConfigs.d.ts +9 -6
- package/dist/ModuleConfigs.js +13 -10
- package/dist/NameUtil.d.ts +5 -2
- package/dist/NameUtil.js +9 -6
- package/dist/ObjectUtils.d.ts +9 -5
- package/dist/ObjectUtils.js +29 -51
- package/dist/ProxyUtil.d.ts +5 -2
- package/dist/ProxyUtil.js +12 -14
- package/dist/StackUtil.d.ts +11 -2
- package/dist/StackUtil.js +65 -46
- package/dist/StreamUtil.d.ts +6 -0
- package/dist/StreamUtil.js +11 -0
- package/dist/TimerUtil.d.ts +10 -2
- package/dist/TimerUtil.js +26 -6
- package/dist/index.d.ts +14 -12
- package/dist/index.js +16 -13
- package/package.json +34 -38
package/dist/FSUtil.d.ts
CHANGED
package/dist/FSUtil.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import fs from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
|
|
3
|
+
//#region src/FSUtil.ts
|
|
4
|
+
var FSUtil = class {
|
|
5
|
+
static async fileExists(filePath) {
|
|
6
|
+
try {
|
|
7
|
+
await fs.access(filePath, fs.constants.F_OK);
|
|
8
|
+
} catch {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { FSUtil };
|
package/dist/Graph.d.ts
CHANGED
|
@@ -1,66 +1,46 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { GraphNodeObj } from "@eggjs/tegg-types";
|
|
2
|
+
|
|
3
|
+
//#region src/Graph.d.ts
|
|
4
|
+
interface EdgeMeta {
|
|
5
|
+
equal(meta: EdgeMeta): boolean;
|
|
6
|
+
toString(): string;
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
toNodes: {
|
|
24
|
-
node: GraphNode<T, M>;
|
|
25
|
-
meta?: M;
|
|
26
|
-
}[];
|
|
27
|
-
fromNodes: {
|
|
28
|
-
node: GraphNode<T, M>;
|
|
29
|
-
meta?: M;
|
|
30
|
-
}[];
|
|
31
|
-
};
|
|
32
|
-
toJSON(): {
|
|
33
|
-
val: T;
|
|
34
|
-
toNodes: {
|
|
35
|
-
node: GraphNode<T, M>;
|
|
36
|
-
meta?: M;
|
|
37
|
-
}[];
|
|
38
|
-
fromNodes: {
|
|
39
|
-
node: GraphNode<T, M>;
|
|
40
|
-
meta?: M;
|
|
41
|
-
}[];
|
|
42
|
-
};
|
|
43
|
-
toString(): string;
|
|
8
|
+
declare class GraphNode<T extends GraphNodeObj, M extends EdgeMeta = EdgeMeta> {
|
|
9
|
+
val: T;
|
|
10
|
+
toNodeMap: Map<string, {
|
|
11
|
+
node: GraphNode<T, M>;
|
|
12
|
+
meta?: M;
|
|
13
|
+
}>;
|
|
14
|
+
fromNodeMap: Map<string, {
|
|
15
|
+
node: GraphNode<T, M>;
|
|
16
|
+
meta?: M;
|
|
17
|
+
}>;
|
|
18
|
+
constructor(val: T);
|
|
19
|
+
get id(): string;
|
|
20
|
+
addToVertex(node: GraphNode<T, M>, meta?: M): boolean;
|
|
21
|
+
addFromVertex(node: GraphNode<T, M>, meta?: M): boolean;
|
|
22
|
+
toJSON(): object;
|
|
23
|
+
toString(): string;
|
|
44
24
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
[inspect](): string;
|
|
25
|
+
declare class GraphPath<T extends GraphNodeObj, M extends EdgeMeta = EdgeMeta> {
|
|
26
|
+
nodeIdMap: Map<string, number>;
|
|
27
|
+
nodes: Array<{
|
|
28
|
+
node: GraphNode<T, M>;
|
|
29
|
+
meta?: M;
|
|
30
|
+
}>;
|
|
31
|
+
pushVertex(node: GraphNode<T, M>, meta?: M): boolean;
|
|
32
|
+
popVertex(): void;
|
|
33
|
+
toString(): string;
|
|
55
34
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
35
|
+
declare class Graph<T extends GraphNodeObj, M extends EdgeMeta = EdgeMeta> {
|
|
36
|
+
nodes: Map<string, GraphNode<T, M>>;
|
|
37
|
+
addVertex(node: GraphNode<T, M>): boolean;
|
|
38
|
+
addEdge(from: GraphNode<T, M>, to: GraphNode<T, M>, meta?: M): boolean;
|
|
39
|
+
findToNode(id: string, meta: M): GraphNode<T, M> | undefined;
|
|
40
|
+
appendVertexToPath(node: GraphNode<T, M>, accessPath: GraphPath<T, M>, meta?: M): boolean;
|
|
41
|
+
loopPath(): GraphPath<T, M> | undefined;
|
|
42
|
+
accessNode(node: GraphNode<T, M>, nodes: Array<GraphNode<T, M>>, accessed: boolean[], res: Array<GraphNode<T, M>>): void;
|
|
43
|
+
sort(): Array<GraphNode<T, M>>;
|
|
65
44
|
}
|
|
66
|
-
|
|
45
|
+
//#endregion
|
|
46
|
+
export { EdgeMeta, Graph, GraphNode, GraphPath };
|
package/dist/Graph.js
CHANGED
|
@@ -1,159 +1,121 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
const index = nodes.indexOf(node);
|
|
123
|
-
if (accessed[index]) {
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
if (!node.toNodeMap.size) {
|
|
127
|
-
accessed[nodes.indexOf(node)] = true;
|
|
128
|
-
res.push(node);
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
for (const toNode of node.toNodeMap.values()) {
|
|
132
|
-
this.accessNode(toNode.node, nodes, accessed, res);
|
|
133
|
-
}
|
|
134
|
-
accessed[nodes.indexOf(node)] = true;
|
|
135
|
-
res.push(node);
|
|
136
|
-
}
|
|
137
|
-
// sort by direct
|
|
138
|
-
// priority:
|
|
139
|
-
// 1. vertex can not be access
|
|
140
|
-
// 2. reverse by access direct
|
|
141
|
-
//
|
|
142
|
-
// notice:
|
|
143
|
-
// 1. sort result is not stable
|
|
144
|
-
// 2. graph with loop can not be sort
|
|
145
|
-
sort() {
|
|
146
|
-
const res = [];
|
|
147
|
-
const nodes = Array.from(this.nodes.values());
|
|
148
|
-
const accessed = [];
|
|
149
|
-
for (let i = 0; i < nodes.length; ++i) {
|
|
150
|
-
accessed.push(false);
|
|
151
|
-
}
|
|
152
|
-
for (let i = 0; i < nodes.length; ++i) {
|
|
153
|
-
const node = nodes[i];
|
|
154
|
-
this.accessNode(node, nodes, accessed, res);
|
|
155
|
-
}
|
|
156
|
-
return res;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvR3JhcGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBT3pELE1BQU0sT0FBTyxTQUFTO0lBQ3BCLEdBQUcsQ0FBSTtJQUNQLFNBQVMsR0FBbUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN0RSxXQUFXLEdBQW1ELElBQUksR0FBRyxFQUFFLENBQUM7SUFFeEUsWUFBWSxHQUFNO1FBQ2hCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBcUIsRUFBRSxJQUFRO1FBQ3pDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFxQixFQUFFLElBQVE7UUFDM0MsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUM7SUFDZCxD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
|
|
1
|
+
//#region src/Graph.ts
|
|
2
|
+
var GraphNode = class {
|
|
3
|
+
val;
|
|
4
|
+
toNodeMap = /* @__PURE__ */ new Map();
|
|
5
|
+
fromNodeMap = /* @__PURE__ */ new Map();
|
|
6
|
+
constructor(val) {
|
|
7
|
+
this.val = val;
|
|
8
|
+
}
|
|
9
|
+
get id() {
|
|
10
|
+
return this.val.id;
|
|
11
|
+
}
|
|
12
|
+
addToVertex(node, meta) {
|
|
13
|
+
if (this.toNodeMap.has(node.id)) return false;
|
|
14
|
+
this.toNodeMap.set(node.id, {
|
|
15
|
+
node,
|
|
16
|
+
meta
|
|
17
|
+
});
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
addFromVertex(node, meta) {
|
|
21
|
+
if (this.fromNodeMap.has(node.id)) return false;
|
|
22
|
+
this.fromNodeMap.set(node.id, {
|
|
23
|
+
node,
|
|
24
|
+
meta
|
|
25
|
+
});
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
toJSON() {
|
|
29
|
+
return {
|
|
30
|
+
val: this.val,
|
|
31
|
+
toNodes: Array.from(this.toNodeMap.values()),
|
|
32
|
+
fromNodes: Array.from(this.fromNodeMap.values())
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
toString() {
|
|
36
|
+
return this.val.toString();
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
var GraphPath = class {
|
|
40
|
+
nodeIdMap = /* @__PURE__ */ new Map();
|
|
41
|
+
nodes = [];
|
|
42
|
+
pushVertex(node, meta) {
|
|
43
|
+
const val = this.nodeIdMap.get(node.id) || 0;
|
|
44
|
+
this.nodeIdMap.set(node.id, val + 1);
|
|
45
|
+
this.nodes.push({
|
|
46
|
+
node,
|
|
47
|
+
meta
|
|
48
|
+
});
|
|
49
|
+
return val === 0;
|
|
50
|
+
}
|
|
51
|
+
popVertex() {
|
|
52
|
+
const nodeHandler = this.nodes.pop();
|
|
53
|
+
if (nodeHandler) {
|
|
54
|
+
const val = this.nodeIdMap.get(nodeHandler.node.id);
|
|
55
|
+
this.nodeIdMap.set(nodeHandler.node.id, val - 1);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
toString() {
|
|
59
|
+
return this.nodes.reduce((p, c) => {
|
|
60
|
+
let msg = "";
|
|
61
|
+
if (c.meta) msg += ` ${c.meta.toString()} -> `;
|
|
62
|
+
else if (p.length) msg += " -> ";
|
|
63
|
+
msg += c.node.val.toString();
|
|
64
|
+
p.push(msg);
|
|
65
|
+
return p;
|
|
66
|
+
}, new Array()).join("");
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
var Graph = class {
|
|
70
|
+
nodes = /* @__PURE__ */ new Map();
|
|
71
|
+
addVertex(node) {
|
|
72
|
+
if (this.nodes.has(node.id)) return false;
|
|
73
|
+
this.nodes.set(node.id, node);
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
addEdge(from, to, meta) {
|
|
77
|
+
to.addFromVertex(from, meta);
|
|
78
|
+
return from.addToVertex(to, meta);
|
|
79
|
+
}
|
|
80
|
+
findToNode(id, meta) {
|
|
81
|
+
const node = this.nodes.get(id);
|
|
82
|
+
if (!node) return void 0;
|
|
83
|
+
for (const { node: toNode, meta: edgeMeta } of node.toNodeMap.values()) if (edgeMeta && meta.equal(edgeMeta)) return toNode;
|
|
84
|
+
}
|
|
85
|
+
appendVertexToPath(node, accessPath, meta) {
|
|
86
|
+
if (!accessPath.pushVertex(node, meta)) return false;
|
|
87
|
+
for (const toNode of node.toNodeMap.values()) if (!this.appendVertexToPath(toNode.node, accessPath, toNode.meta)) return false;
|
|
88
|
+
accessPath.popVertex();
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
loopPath() {
|
|
92
|
+
const accessPath = new GraphPath();
|
|
93
|
+
const nodes = Array.from(this.nodes.values());
|
|
94
|
+
for (const node of nodes) if (!this.appendVertexToPath(node, accessPath)) return accessPath;
|
|
95
|
+
}
|
|
96
|
+
accessNode(node, nodes, accessed, res) {
|
|
97
|
+
if (accessed[nodes.indexOf(node)]) return;
|
|
98
|
+
if (!node.toNodeMap.size) {
|
|
99
|
+
accessed[nodes.indexOf(node)] = true;
|
|
100
|
+
res.push(node);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
for (const toNode of node.toNodeMap.values()) this.accessNode(toNode.node, nodes, accessed, res);
|
|
104
|
+
accessed[nodes.indexOf(node)] = true;
|
|
105
|
+
res.push(node);
|
|
106
|
+
}
|
|
107
|
+
sort() {
|
|
108
|
+
const res = [];
|
|
109
|
+
const nodes = Array.from(this.nodes.values());
|
|
110
|
+
const accessed = [];
|
|
111
|
+
for (let i = 0; i < nodes.length; ++i) accessed.push(false);
|
|
112
|
+
for (let i = 0; i < nodes.length; ++i) {
|
|
113
|
+
const node = nodes[i];
|
|
114
|
+
this.accessNode(node, nodes, accessed, res);
|
|
115
|
+
}
|
|
116
|
+
return res;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
//#endregion
|
|
121
|
+
export { Graph, GraphNode, GraphPath };
|
package/dist/MapUtil.d.ts
CHANGED
package/dist/MapUtil.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
//#
|
|
1
|
+
//#region src/MapUtil.ts
|
|
2
|
+
var MapUtil = class {
|
|
3
|
+
static getOrStore(map, key, value) {
|
|
4
|
+
if (!map.has(key)) map.set(key, value);
|
|
5
|
+
return map.get(key);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
export { MapUtil };
|
package/dist/ModuleConfig.d.ts
CHANGED
|
@@ -1,20 +1,30 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { InlineModuleReferenceConfig, ModuleConfig, ModuleReference, ModuleReferenceConfig, NpmModuleReferenceConfig, ReadModuleReferenceOptions } from "@eggjs/tegg-types";
|
|
2
|
+
|
|
3
|
+
//#region src/ModuleConfig.d.ts
|
|
4
|
+
declare class ModuleReferenceConfigHelp {
|
|
5
|
+
static isInlineModuleReference(moduleReference: ModuleReferenceConfig): moduleReference is InlineModuleReferenceConfig;
|
|
6
|
+
static isNpmModuleReference(moduleReference: ModuleReferenceConfig): moduleReference is NpmModuleReferenceConfig;
|
|
5
7
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
declare class ModuleConfigUtil {
|
|
9
|
+
#private;
|
|
10
|
+
static configNames: string[] | undefined;
|
|
11
|
+
static setConfigNames(configNames: string[] | undefined): void;
|
|
12
|
+
static readModuleReference(baseDir: string, options?: ReadModuleReferenceOptions): readonly ModuleReference[];
|
|
13
|
+
private static readModuleReferenceFromModuleJson;
|
|
14
|
+
private static readModuleReferenceFromScan;
|
|
15
|
+
static readModuleFromNodeModules(baseDir: string): ModuleReference[];
|
|
16
|
+
static resolveModuleDir(moduleDir: string, baseDir?: string): string;
|
|
17
|
+
private static getModuleName;
|
|
18
|
+
static readModuleName(baseDir: string, moduleDir: string): Promise<string>;
|
|
19
|
+
static readModuleNameSync(moduleDir: string, baseDir?: string): string;
|
|
20
|
+
static loadModuleConfig(moduleDir: string, baseDir?: string, env?: string): Promise<ModuleConfig>;
|
|
21
|
+
static loadModuleConfigSync(moduleDir: string, baseDir?: string, env?: string): ModuleConfig;
|
|
22
|
+
/**
|
|
23
|
+
* Deduplicate module references to avoid adding the same module multiple times.
|
|
24
|
+
* @param moduleReferences array of module references
|
|
25
|
+
* @return deduplicated module references
|
|
26
|
+
*/
|
|
27
|
+
static deduplicateModules(moduleReferences: readonly ModuleReference[]): readonly ModuleReference[];
|
|
20
28
|
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { ModuleConfigUtil, ModuleReferenceConfigHelp };
|