@eggjs/tegg-common-util 3.52.0 → 4.0.0-beta.2
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/package.json +24 -21
- package/src/FSUtil.js +13 -0
- package/src/Graph.js +159 -0
- package/src/MapUtil.js +9 -0
- package/src/ModuleConfig.js +282 -0
- package/{dist/src → src}/ModuleConfigs.d.ts +1 -0
- package/src/ModuleConfigs.js +10 -0
- package/src/NameUtil.js +6 -0
- package/src/ObjectUtils.js +51 -0
- package/src/ProxyUtil.js +14 -0
- package/src/StackUtil.d.ts +3 -0
- package/src/StackUtil.js +49 -0
- package/src/TimerUtil.js +6 -0
- package/src/index.d.ts +12 -0
- package/src/index.js +13 -0
- package/dist/index.d.ts +0 -11
- package/dist/index.js +0 -28
- package/dist/src/FSUtil.js +0 -17
- package/dist/src/Graph.js +0 -168
- package/dist/src/MapUtil.js +0 -13
- package/dist/src/ModuleConfig.js +0 -312
- package/dist/src/ModuleConfigs.js +0 -14
- package/dist/src/NameUtil.js +0 -10
- package/dist/src/ObjectUtils.js +0 -55
- package/dist/src/ProxyUtil.js +0 -17
- package/dist/src/StackUtil.d.ts +0 -7
- package/dist/src/StackUtil.js +0 -44
- package/dist/src/TimerUtil.js +0 -10
- /package/{dist/src → src}/FSUtil.d.ts +0 -0
- /package/{dist/src → src}/Graph.d.ts +0 -0
- /package/{dist/src → src}/MapUtil.d.ts +0 -0
- /package/{dist/src → src}/ModuleConfig.d.ts +0 -0
- /package/{dist/src → src}/NameUtil.d.ts +0 -0
- /package/{dist/src → src}/ObjectUtils.d.ts +0 -0
- /package/{dist/src → src}/ProxyUtil.d.ts +0 -0
- /package/{dist/src → src}/TimerUtil.d.ts +0 -0
package/dist/src/ModuleConfig.js
DELETED
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
26
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
27
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
28
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
29
|
-
};
|
|
30
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
31
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
32
|
-
};
|
|
33
|
-
var _a, _ModuleConfigUtil_loadOne, _ModuleConfigUtil_loadJson, _ModuleConfigUtil_loadYaml, _ModuleConfigUtil_loadOneSync, _ModuleConfigUtil_loadJsonSync, _ModuleConfigUtil_loadYamlSync;
|
|
34
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.ModuleConfigUtil = exports.ModuleReferenceConfigHelp = void 0;
|
|
36
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
37
|
-
const node_fs_1 = __importStar(require("node:fs"));
|
|
38
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
39
|
-
const extend2_1 = __importDefault(require("extend2"));
|
|
40
|
-
const globby_1 = __importDefault(require("globby"));
|
|
41
|
-
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
42
|
-
const FSUtil_1 = require("./FSUtil");
|
|
43
|
-
class ModuleReferenceConfigHelp {
|
|
44
|
-
static isInlineModuleReference(moduleReference) {
|
|
45
|
-
return !!moduleReference.path;
|
|
46
|
-
}
|
|
47
|
-
static isNpmModuleReference(moduleReference) {
|
|
48
|
-
return !!moduleReference.package;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.ModuleReferenceConfigHelp = ModuleReferenceConfigHelp;
|
|
52
|
-
const DEFAULT_READ_MODULE_REF_OPTS = {
|
|
53
|
-
deep: 10,
|
|
54
|
-
};
|
|
55
|
-
class ModuleConfigUtil {
|
|
56
|
-
static setConfigNames(configNames) {
|
|
57
|
-
_a.configNames = configNames;
|
|
58
|
-
}
|
|
59
|
-
static readModuleReference(baseDir, options) {
|
|
60
|
-
// 1. module.json exits use module.json as module reference
|
|
61
|
-
// 1. module.json not exits scan baseDir get package.json to find modules
|
|
62
|
-
const configDir = node_path_1.default.join(baseDir, 'config');
|
|
63
|
-
const moduleJsonPath = node_path_1.default.join(configDir, 'module.json');
|
|
64
|
-
if (node_fs_1.default.existsSync(moduleJsonPath)) {
|
|
65
|
-
return this.readModuleReferenceFromModuleJson(configDir, moduleJsonPath, (options === null || options === void 0 ? void 0 : options.cwd) || baseDir);
|
|
66
|
-
}
|
|
67
|
-
return this.readModuleReferenceFromScan(baseDir, options);
|
|
68
|
-
}
|
|
69
|
-
static readModuleReferenceFromModuleJson(configDir, moduleJsonPath, cwd) {
|
|
70
|
-
const moduleJsonContent = node_fs_1.default.readFileSync(moduleJsonPath, 'utf8');
|
|
71
|
-
const moduleJson = JSON.parse(moduleJsonContent);
|
|
72
|
-
const moduleReferenceList = [];
|
|
73
|
-
for (const moduleReferenceConfig of moduleJson) {
|
|
74
|
-
let moduleReference;
|
|
75
|
-
if (ModuleReferenceConfigHelp.isNpmModuleReference(moduleReferenceConfig)) {
|
|
76
|
-
const options = cwd ? { paths: [cwd] } : {};
|
|
77
|
-
// path.posix for windows keep path as foo/package.json
|
|
78
|
-
const pkgJson = node_path_1.default.posix.join(moduleReferenceConfig.package, 'package.json');
|
|
79
|
-
const file = require.resolve(pkgJson, options);
|
|
80
|
-
const modulePath = node_path_1.default.dirname(file);
|
|
81
|
-
moduleReference = {
|
|
82
|
-
path: modulePath,
|
|
83
|
-
name: _a.readModuleNameSync(modulePath),
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
else if (ModuleReferenceConfigHelp.isInlineModuleReference(moduleReferenceConfig)) {
|
|
87
|
-
const modulePath = node_path_1.default.join(configDir, moduleReferenceConfig.path);
|
|
88
|
-
moduleReference = {
|
|
89
|
-
path: modulePath,
|
|
90
|
-
name: _a.readModuleNameSync(modulePath),
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
throw new Error('unknown type of module reference config: ' + JSON.stringify(moduleReferenceConfig));
|
|
95
|
-
}
|
|
96
|
-
moduleReferenceList.push(moduleReference);
|
|
97
|
-
}
|
|
98
|
-
return moduleReferenceList;
|
|
99
|
-
}
|
|
100
|
-
static readModuleReferenceFromScan(baseDir, options) {
|
|
101
|
-
const ref = [];
|
|
102
|
-
const realOptions = Object.assign({}, DEFAULT_READ_MODULE_REF_OPTS, options);
|
|
103
|
-
const packagePaths = globby_1.default.sync([
|
|
104
|
-
'**/package.json',
|
|
105
|
-
// not load node_modules
|
|
106
|
-
'!**/node_modules',
|
|
107
|
-
// not load files in .xxx/
|
|
108
|
-
'!**/+(.*)/**',
|
|
109
|
-
// not load coverage
|
|
110
|
-
'!**/coverage',
|
|
111
|
-
...(realOptions.extraFilePattern || []),
|
|
112
|
-
], {
|
|
113
|
-
cwd: baseDir,
|
|
114
|
-
deep: realOptions.deep,
|
|
115
|
-
});
|
|
116
|
-
const moduleDirSet = new Set();
|
|
117
|
-
for (const packagePath of packagePaths) {
|
|
118
|
-
const absolutePkgPath = node_path_1.default.join(baseDir, packagePath);
|
|
119
|
-
let realPkgPath;
|
|
120
|
-
try {
|
|
121
|
-
realPkgPath = node_fs_1.default.realpathSync(absolutePkgPath);
|
|
122
|
-
}
|
|
123
|
-
catch (_) {
|
|
124
|
-
continue;
|
|
125
|
-
}
|
|
126
|
-
const moduleDir = node_path_1.default.dirname(realPkgPath);
|
|
127
|
-
// skip the symbolic link
|
|
128
|
-
if (moduleDirSet.has(moduleDir)) {
|
|
129
|
-
continue;
|
|
130
|
-
}
|
|
131
|
-
moduleDirSet.add(moduleDir);
|
|
132
|
-
let name;
|
|
133
|
-
try {
|
|
134
|
-
name = this.readModuleNameSync(moduleDir);
|
|
135
|
-
}
|
|
136
|
-
catch (_) {
|
|
137
|
-
continue;
|
|
138
|
-
}
|
|
139
|
-
ref.push({
|
|
140
|
-
path: moduleDir,
|
|
141
|
-
name,
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
const moduleReferences = this.readModuleFromNodeModules(baseDir);
|
|
145
|
-
for (const moduleReference of moduleReferences) {
|
|
146
|
-
const moduleBasePath = node_path_1.default.basename(moduleReference.path);
|
|
147
|
-
moduleDirSet.forEach(modulePath => {
|
|
148
|
-
if (node_path_1.default.basename(modulePath) === moduleBasePath) {
|
|
149
|
-
throw new Error('duplicate import of module reference: ' + moduleBasePath);
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
ref.push({
|
|
153
|
-
path: moduleReference.path,
|
|
154
|
-
name: moduleReference.name,
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
return ref;
|
|
158
|
-
}
|
|
159
|
-
static readModuleFromNodeModules(baseDir) {
|
|
160
|
-
const ref = [];
|
|
161
|
-
let pkgContent;
|
|
162
|
-
try {
|
|
163
|
-
pkgContent = node_fs_1.default.readFileSync(node_path_1.default.join(baseDir, 'package.json'), 'utf8');
|
|
164
|
-
}
|
|
165
|
-
catch (_) {
|
|
166
|
-
return [];
|
|
167
|
-
}
|
|
168
|
-
const pkg = JSON.parse(pkgContent);
|
|
169
|
-
for (const dependencyKey of Object.keys(pkg.dependencies || {})) {
|
|
170
|
-
let packageJsonPath;
|
|
171
|
-
try {
|
|
172
|
-
// https://nodejs.org/api/packages.html#package-entry-points
|
|
173
|
-
// ignore cases where the package entry is exports but package.json is not exported
|
|
174
|
-
packageJsonPath = require.resolve(`${dependencyKey}/package.json`, { paths: [baseDir] });
|
|
175
|
-
}
|
|
176
|
-
catch (_) {
|
|
177
|
-
continue;
|
|
178
|
-
}
|
|
179
|
-
const absolutePkgPath = node_path_1.default.dirname(packageJsonPath);
|
|
180
|
-
const realPkgPath = node_fs_1.default.realpathSync(absolutePkgPath);
|
|
181
|
-
try {
|
|
182
|
-
const name = this.readModuleNameSync(realPkgPath);
|
|
183
|
-
ref.push({
|
|
184
|
-
path: realPkgPath,
|
|
185
|
-
name,
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
catch (_) {
|
|
189
|
-
continue;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
return ref;
|
|
193
|
-
}
|
|
194
|
-
static resolveModuleDir(moduleDir, baseDir) {
|
|
195
|
-
if (node_path_1.default.isAbsolute(moduleDir)) {
|
|
196
|
-
return moduleDir;
|
|
197
|
-
}
|
|
198
|
-
(0, node_assert_1.default)(baseDir, 'baseDir is required');
|
|
199
|
-
return node_path_1.default.join(baseDir, 'config', moduleDir);
|
|
200
|
-
}
|
|
201
|
-
static getModuleName(pkg) {
|
|
202
|
-
(0, node_assert_1.default)(pkg.eggModule && pkg.eggModule.name, 'eggModule.name not found in package.json');
|
|
203
|
-
return pkg.eggModule.name;
|
|
204
|
-
}
|
|
205
|
-
static async readModuleName(baseDir, moduleDir) {
|
|
206
|
-
moduleDir = _a.resolveModuleDir(moduleDir, baseDir);
|
|
207
|
-
const pkgContent = await node_fs_1.promises.readFile(node_path_1.default.join(moduleDir, 'package.json'), 'utf8');
|
|
208
|
-
const pkg = JSON.parse(pkgContent);
|
|
209
|
-
return _a.getModuleName(pkg);
|
|
210
|
-
}
|
|
211
|
-
static readModuleNameSync(moduleDir, baseDir) {
|
|
212
|
-
moduleDir = _a.resolveModuleDir(moduleDir, baseDir);
|
|
213
|
-
const pkgContent = node_fs_1.default.readFileSync(node_path_1.default.join(moduleDir, 'package.json'), 'utf8');
|
|
214
|
-
const pkg = JSON.parse(pkgContent);
|
|
215
|
-
return _a.getModuleName(pkg);
|
|
216
|
-
}
|
|
217
|
-
static async loadModuleConfig(moduleDir, baseDir, env) {
|
|
218
|
-
const modulePath = _a.resolveModuleDir(moduleDir, baseDir);
|
|
219
|
-
let configNames;
|
|
220
|
-
if (env) {
|
|
221
|
-
configNames = ['module', `module.${env}`];
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
// assert(ModuleConfigUtil.configNames, 'should setConfigNames before load module config');
|
|
225
|
-
configNames = _a.configNames || ['module'];
|
|
226
|
-
}
|
|
227
|
-
const target = {};
|
|
228
|
-
for (const configName of configNames) {
|
|
229
|
-
let config = await __classPrivateFieldGet(_a, _a, "m", _ModuleConfigUtil_loadOne).call(_a, modulePath, configName);
|
|
230
|
-
// both module.yml and module.default.yml are ok for default config
|
|
231
|
-
if (configName === 'module.default' && !config) {
|
|
232
|
-
config = await __classPrivateFieldGet(_a, _a, "m", _ModuleConfigUtil_loadOne).call(_a, modulePath, 'module');
|
|
233
|
-
}
|
|
234
|
-
if (config) {
|
|
235
|
-
(0, extend2_1.default)(true, target, config);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
return target;
|
|
239
|
-
}
|
|
240
|
-
static loadModuleConfigSync(moduleDir, baseDir, env) {
|
|
241
|
-
const modulePath = _a.resolveModuleDir(moduleDir, baseDir);
|
|
242
|
-
let configNames;
|
|
243
|
-
if (env) {
|
|
244
|
-
configNames = ['module', `module.${env}`];
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
// assert(ModuleConfigUtil.configNames, 'should setConfigNames before load module config');
|
|
248
|
-
configNames = _a.configNames || ['module'];
|
|
249
|
-
}
|
|
250
|
-
const target = {};
|
|
251
|
-
for (const configName of configNames) {
|
|
252
|
-
let config = __classPrivateFieldGet(_a, _a, "m", _ModuleConfigUtil_loadOneSync).call(_a, modulePath, configName);
|
|
253
|
-
// both module.yml and module.default.yml are ok for default config
|
|
254
|
-
if (configName === 'module.default' && !config) {
|
|
255
|
-
config = __classPrivateFieldGet(_a, _a, "m", _ModuleConfigUtil_loadOneSync).call(_a, modulePath, 'module');
|
|
256
|
-
}
|
|
257
|
-
if (config) {
|
|
258
|
-
(0, extend2_1.default)(true, target, config);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
return target;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
exports.ModuleConfigUtil = ModuleConfigUtil;
|
|
265
|
-
_a = ModuleConfigUtil, _ModuleConfigUtil_loadOne = async function _ModuleConfigUtil_loadOne(moduleDir, configName) {
|
|
266
|
-
const yamlConfigPath = node_path_1.default.join(moduleDir, `${configName}.yml`);
|
|
267
|
-
let config = await __classPrivateFieldGet(_a, _a, "m", _ModuleConfigUtil_loadYaml).call(_a, yamlConfigPath);
|
|
268
|
-
if (!config) {
|
|
269
|
-
const jsonConfigPath = node_path_1.default.join(moduleDir, `${configName}.json`);
|
|
270
|
-
config = await __classPrivateFieldGet(_a, _a, "m", _ModuleConfigUtil_loadJson).call(_a, jsonConfigPath);
|
|
271
|
-
}
|
|
272
|
-
return config;
|
|
273
|
-
}, _ModuleConfigUtil_loadJson = async function _ModuleConfigUtil_loadJson(moduleJsonPath) {
|
|
274
|
-
const moduleJsonPathExists = await FSUtil_1.FSUtil.fileExists(moduleJsonPath);
|
|
275
|
-
if (!moduleJsonPathExists) {
|
|
276
|
-
return;
|
|
277
|
-
}
|
|
278
|
-
const moduleJsonContent = await node_fs_1.promises.readFile(moduleJsonPath, 'utf8');
|
|
279
|
-
const moduleJson = JSON.parse(moduleJsonContent);
|
|
280
|
-
return moduleJson.config;
|
|
281
|
-
}, _ModuleConfigUtil_loadYaml = async function _ModuleConfigUtil_loadYaml(moduleYamlPath) {
|
|
282
|
-
const moduleYamlPathExists = await FSUtil_1.FSUtil.fileExists(moduleYamlPath);
|
|
283
|
-
if (!moduleYamlPathExists) {
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
const moduleYamlContent = await node_fs_1.promises.readFile(moduleYamlPath, 'utf8');
|
|
287
|
-
return js_yaml_1.default.safeLoad(moduleYamlContent);
|
|
288
|
-
}, _ModuleConfigUtil_loadOneSync = function _ModuleConfigUtil_loadOneSync(moduleDir, configName) {
|
|
289
|
-
const yamlConfigPath = node_path_1.default.join(moduleDir, `${configName}.yml`);
|
|
290
|
-
let config = __classPrivateFieldGet(_a, _a, "m", _ModuleConfigUtil_loadYamlSync).call(_a, yamlConfigPath);
|
|
291
|
-
if (!config) {
|
|
292
|
-
const jsonConfigPath = node_path_1.default.join(moduleDir, `${configName}.json`);
|
|
293
|
-
config = __classPrivateFieldGet(_a, _a, "m", _ModuleConfigUtil_loadJsonSync).call(_a, jsonConfigPath);
|
|
294
|
-
}
|
|
295
|
-
return config;
|
|
296
|
-
}, _ModuleConfigUtil_loadJsonSync = function _ModuleConfigUtil_loadJsonSync(moduleJsonPath) {
|
|
297
|
-
const moduleJsonPathExists = node_fs_1.default.existsSync(moduleJsonPath);
|
|
298
|
-
if (!moduleJsonPathExists) {
|
|
299
|
-
return;
|
|
300
|
-
}
|
|
301
|
-
const moduleJsonContent = node_fs_1.default.readFileSync(moduleJsonPath, 'utf8');
|
|
302
|
-
const moduleJson = JSON.parse(moduleJsonContent);
|
|
303
|
-
return moduleJson.config;
|
|
304
|
-
}, _ModuleConfigUtil_loadYamlSync = function _ModuleConfigUtil_loadYamlSync(moduleYamlPath) {
|
|
305
|
-
const moduleYamlPathExists = node_fs_1.default.existsSync(moduleYamlPath);
|
|
306
|
-
if (!moduleYamlPathExists) {
|
|
307
|
-
return;
|
|
308
|
-
}
|
|
309
|
-
const moduleYamlContent = node_fs_1.default.readFileSync(moduleYamlPath, 'utf8');
|
|
310
|
-
return js_yaml_1.default.safeLoad(moduleYamlContent);
|
|
311
|
-
};
|
|
312
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUFpQztBQUNqQyxtREFBb0Q7QUFDcEQsMERBQTZCO0FBQzdCLHNEQUE2QjtBQUM3QixvREFBNEI7QUFDNUIsc0RBQTJCO0FBUzNCLHFDQUFrQztBQUVsQyxNQUFhLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsZUFBc0M7UUFDbkUsT0FBTyxDQUFDLENBQUUsZUFBK0MsQ0FBQyxJQUFJLENBQUM7SUFDakUsQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxlQUFzQztRQUNoRSxPQUFPLENBQUMsQ0FBRSxlQUE0QyxDQUFDLE9BQU8sQ0FBQztJQUNqRSxDQUFDO0NBQ0Y7QUFSRCw4REFRQztBQUVELE1BQU0sNEJBQTRCLEdBQUc7SUFDbkMsSUFBSSxFQUFFLEVBQUU7Q0FDVCxDQUFDO0FBRUYsTUFBYSxnQkFBZ0I7SUFHcEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFpQztRQUM1RCxFQUFnQixDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFlLEVBQUUsT0FBb0M7UUFDckYsMkRBQTJEO1FBQzNELHlFQUF5RTtRQUN6RSxNQUFNLFNBQVMsR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsTUFBTSxjQUFjLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzNELElBQUksaUJBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxTQUFTLEVBQUUsY0FB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
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModuleConfigs = void 0;
|
|
4
|
-
class ModuleConfigs {
|
|
5
|
-
constructor(inner) {
|
|
6
|
-
this.inner = inner;
|
|
7
|
-
}
|
|
8
|
-
get(moduleName) {
|
|
9
|
-
var _a;
|
|
10
|
-
return (_a = this.inner[moduleName]) === null || _a === void 0 ? void 0 : _a.config;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.ModuleConfigs = ModuleConfigs;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Nb2R1bGVDb25maWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsYUFBYTtJQUN4QixZQUFxQixLQUF5QztRQUF6QyxVQUFLLEdBQUwsS0FBSyxDQUFvQztJQUM5RCxDQUFDO0lBRUQsR0FBRyxDQUFDLFVBQWtCOztRQUNwQixPQUFPLE1BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsMENBQUUsTUFBTSxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQVBELHNDQU9DIn0=
|
package/dist/src/NameUtil.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NameUtil = void 0;
|
|
4
|
-
class NameUtil {
|
|
5
|
-
static getClassName(constructor) {
|
|
6
|
-
return constructor.name[0].toLowerCase() + constructor.name.substring(1);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
exports.NameUtil = NameUtil;
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvTmFtZVV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBYSxRQUFRO0lBQ25CLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBcUI7UUFDdkMsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7Q0FDRjtBQUpELDRCQUlDIn0=
|
package/dist/src/ObjectUtils.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ObjectUtils = void 0;
|
|
4
|
-
class ObjectUtils {
|
|
5
|
-
static getProperties(obj) {
|
|
6
|
-
const properties = [];
|
|
7
|
-
do {
|
|
8
|
-
for (const property of Object.getOwnPropertyNames(obj)) {
|
|
9
|
-
properties.push(property);
|
|
10
|
-
}
|
|
11
|
-
} while ((obj = Object.getPrototypeOf(obj)) && obj !== Object.prototype);
|
|
12
|
-
return properties;
|
|
13
|
-
}
|
|
14
|
-
static getFunctionArgNameList(func) {
|
|
15
|
-
if (func.length === 0) {
|
|
16
|
-
return [];
|
|
17
|
-
}
|
|
18
|
-
let sourcecode = func.toString();
|
|
19
|
-
sourcecode = sourcecode
|
|
20
|
-
// Remove /* ... */
|
|
21
|
-
.replace(/\/\*[\s\S]*?\*\//g, '')
|
|
22
|
-
// Remove //
|
|
23
|
-
.replace(/\/\/(.)*/g, '')
|
|
24
|
-
// Remove { ... }
|
|
25
|
-
.replace(/{[\s\S]*}/, '')
|
|
26
|
-
// Remove =>
|
|
27
|
-
.replace(/=>/g, '')
|
|
28
|
-
.trim();
|
|
29
|
-
let argsString = sourcecode.substring(sourcecode.indexOf('(') + 1, sourcecode.length - 1);
|
|
30
|
-
// Remove =(...,...)
|
|
31
|
-
argsString = argsString.replace(/=\([\s\S]*\)/g, '');
|
|
32
|
-
const args = argsString.split(',');
|
|
33
|
-
const argNames = args.map(arg => {
|
|
34
|
-
// Remove default value
|
|
35
|
-
return arg.replace(/=[\s\S]*/g, '').trim();
|
|
36
|
-
}).filter(arg => arg.length);
|
|
37
|
-
return argNames;
|
|
38
|
-
}
|
|
39
|
-
static getConstructorArgNameList(clazz) {
|
|
40
|
-
if (clazz.length === 0) {
|
|
41
|
-
return [];
|
|
42
|
-
}
|
|
43
|
-
const classString = clazz.toString();
|
|
44
|
-
const constructorMatch = classString.match(/constructor\s*\(([^)]+)\)/);
|
|
45
|
-
if (!constructorMatch) {
|
|
46
|
-
return [];
|
|
47
|
-
}
|
|
48
|
-
const params = constructorMatch[1].split(',').map(param => param.trim());
|
|
49
|
-
return params.map(param => param.match(/(\w+)\s*(?=\s*(?:=|\/\/|\s*$))/))
|
|
50
|
-
.filter(Boolean)
|
|
51
|
-
.map(match => match[0].trim());
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
exports.ObjectUtils = ObjectUtils;
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2JqZWN0VXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvT2JqZWN0VXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSxXQUFXO0lBQ3RCLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBVztRQUM5QixNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7UUFDaEMsR0FBRyxDQUFDO1lBQ0YsS0FBSyxNQUFNLFFBQVEsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkQsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUN6RSxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFDLElBQWM7UUFDMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxVQUFVLEdBQUcsVUFBVTtZQUNyQixtQkFBbUI7YUFDbEIsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQztZQUNqQyxZQUFZO2FBQ1gsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDekIsaUJBQWlCO2FBQ2hCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLFlBQVk7YUFDWCxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQzthQUNsQixJQUFJLEVBQUUsQ0FBQztRQUNWLElBQUksVUFBVSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxRixvQkFBb0I7UUFDcEIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5Qix1QkFBdUI7WUFDdkIsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxLQUF3QjtRQUN2RCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN6RSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7YUFDdEUsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUNmLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQW5ERCxrQ0FtREMifQ==
|
package/dist/src/ProxyUtil.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProxyUtil = void 0;
|
|
4
|
-
class ProxyUtil {
|
|
5
|
-
static safeProxy(obj, getter) {
|
|
6
|
-
return new Proxy(obj, {
|
|
7
|
-
get(target, p) {
|
|
8
|
-
if (Object.prototype[p]) {
|
|
9
|
-
return target[p];
|
|
10
|
-
}
|
|
11
|
-
return getter(target, p);
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.ProxyUtil = ProxyUtil;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJveHlVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1Byb3h5VXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLFNBQVM7SUFDcEIsTUFBTSxDQUFDLFNBQVMsQ0FBbUIsR0FBTSxFQUFFLE1BQXVDO1FBQ2hGLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ3BCLEdBQUcsQ0FBQyxNQUFTLEVBQUUsQ0FBYztnQkFDM0IsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixDQUFDO2dCQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMzQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBWEQsOEJBV0MifQ==
|
package/dist/src/StackUtil.d.ts
DELETED
package/dist/src/StackUtil.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Capture call site stack from v8.
|
|
4
|
-
* https://github.com/v8/v8/wiki/Stack-Trace-API
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.StackUtil = void 0;
|
|
8
|
-
function prepareObjectStackTrace(_, stack) {
|
|
9
|
-
return stack;
|
|
10
|
-
}
|
|
11
|
-
class StackUtil {
|
|
12
|
-
// from egg-core/utils
|
|
13
|
-
// https://github.com/eggjs/egg-core/blob/master/lib/utils/index.js#L51
|
|
14
|
-
static getCalleeFromStack(withLine, stackIndex) {
|
|
15
|
-
stackIndex = stackIndex === undefined ? 2 : stackIndex;
|
|
16
|
-
const limit = Error.stackTraceLimit;
|
|
17
|
-
const prep = Error.prepareStackTrace;
|
|
18
|
-
Error.prepareStackTrace = prepareObjectStackTrace;
|
|
19
|
-
Error.stackTraceLimit = 10;
|
|
20
|
-
// capture the stack
|
|
21
|
-
const obj = {
|
|
22
|
-
stack: [],
|
|
23
|
-
};
|
|
24
|
-
Error.captureStackTrace(obj);
|
|
25
|
-
const callSite = obj.stack[stackIndex];
|
|
26
|
-
let fileName;
|
|
27
|
-
/* istanbul ignore else */
|
|
28
|
-
if (callSite) {
|
|
29
|
-
// egg-mock will create a proxy
|
|
30
|
-
// https://github.com/eggjs/egg-mock/blob/master/lib/app.js#L174
|
|
31
|
-
fileName = callSite.getFileName();
|
|
32
|
-
}
|
|
33
|
-
Error.prepareStackTrace = prep;
|
|
34
|
-
Error.stackTraceLimit = limit;
|
|
35
|
-
/* istanbul ignore if */
|
|
36
|
-
if (!callSite || !fileName)
|
|
37
|
-
return '<anonymous>';
|
|
38
|
-
if (!withLine)
|
|
39
|
-
return fileName;
|
|
40
|
-
return `${fileName}:${callSite.getLineNumber()}:${callSite.getColumnNumber()}`;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.StackUtil = StackUtil;
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0YWNrVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFFSCxTQUFTLHVCQUF1QixDQUFDLENBQUMsRUFBRSxLQUFLO0lBQ3ZDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQWEsU0FBUztJQUNwQixzQkFBc0I7SUFDdEIsdUVBQXVFO0lBQ3ZFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFpQixFQUFFLFVBQW1CO1FBQzlELFVBQVUsR0FBRyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUN2RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztRQUVyQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUM7UUFDbEQsS0FBSyxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFFM0Isb0JBQW9CO1FBQ3BCLE1BQU0sR0FBRyxHQUFpQztZQUN4QyxLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUM7UUFDRixLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxJQUFJLFFBQVEsQ0FBQztRQUNiLDBCQUEwQjtRQUMxQixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsK0JBQStCO1lBQy9CLGdFQUFnRTtZQUNoRSxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLENBQUM7UUFFRCxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBRTlCLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sYUFBYSxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxRQUFRLENBQUM7UUFDL0IsT0FBTyxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7SUFDakYsQ0FBQztDQUNGO0FBakNELDhCQWlDQyJ9
|
package/dist/src/TimerUtil.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimerUtil = void 0;
|
|
4
|
-
class TimerUtil {
|
|
5
|
-
static async sleep(ms) {
|
|
6
|
-
await new Promise(resolve => setTimeout(resolve, ms));
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
exports.TimerUtil = TimerUtil;
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZXJVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1RpbWVyVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLFNBQVM7SUFDcEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBVTtRQUMzQixNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRjtBQUpELDhCQUlDIn0=
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|