mm_expand 2.3.9 → 2.4.1

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/lib/eventer.js CHANGED
@@ -628,7 +628,7 @@ Eventer.prototype._execSingleTask = async function (o, params, ctx, options) {
628
628
  this._handleSuccessResult({ result, o, ctx, arr, task });
629
629
  } catch (e) {
630
630
  // 处理错误
631
- this._handleTaskError(e, o, ctx, task);
631
+ this._handleSeqTaskError(e, o, ctx, task);
632
632
  }
633
633
  };
634
634
 
@@ -667,7 +667,7 @@ Eventer.prototype._handleSuccessResult = function (config) {
667
667
  task.tasks.splice(task.tasks.indexOf(task.task), 1);
668
668
  };
669
669
 
670
- Eventer.prototype._handleTaskError = function (e, o, ctx, task) {
670
+ Eventer.prototype._handleSeqTaskError = function (e, o, ctx, task) {
671
671
  ctx.error_count++;
672
672
  this.log('error', `事件执行失败 [${ctx.space}:${ctx.event}] - ${o.name}`, e);
673
673
 
@@ -1265,7 +1265,7 @@ Eventer.prototype._ensureNs = function (name) {
1265
1265
  */
1266
1266
  Eventer.prototype._execNsEvents = async function (name, key, params) {
1267
1267
  let list = this._dict[name][key];
1268
- const space_results = [];
1268
+ const name_results = [];
1269
1269
  const arr = []; // 存储需要移除的事件
1270
1270
 
1271
1271
  // 执行事件处理函数
@@ -1274,7 +1274,7 @@ Eventer.prototype._execNsEvents = async function (name, key, params) {
1274
1274
  let obj = list[i];
1275
1275
  // 执行事件处理函数
1276
1276
  let result = await obj.func.apply(obj, params);
1277
- space_results.push(result);
1277
+ name_results.push(result);
1278
1278
 
1279
1279
  // 处理执行次数限制
1280
1280
  if (obj.times >= 0) {
@@ -1286,7 +1286,7 @@ Eventer.prototype._execNsEvents = async function (name, key, params) {
1286
1286
  } catch (e) {
1287
1287
  // 记录错误但不中断执行
1288
1288
  this.log('error', `事件执行失败 [${name}:${key}] - ${list[i].name}`, e);
1289
- space_results.push({
1289
+ name_results.push({
1290
1290
  _error: true,
1291
1291
  error: e,
1292
1292
  handler: list[i].name
@@ -1592,7 +1592,7 @@ Eventer.prototype.has = function (key, name) {
1592
1592
  Eventer.prototype.count = function (key) {
1593
1593
  if (key) {
1594
1594
  // 解析可能的命名空间模式
1595
- if (key.ends_with(':*')) {
1595
+ if (key.endsWith(':*')) {
1596
1596
  // 统计命名空间下所有事件
1597
1597
  let space = key.split(':')[0];
1598
1598
  if (this._dict[space]) {
@@ -1684,10 +1684,10 @@ Eventer.prototype._initEventChain = function (full_from_event) {
1684
1684
 
1685
1685
  Eventer.prototype._addTargetEvents = function (full_from_event, to_events) {
1686
1686
  // 确保目标事件是数组
1687
- let target_events = Array.is_array(to_events) ? to_events : [to_events];
1687
+ let target_events = Array.isArray(to_events) ? to_events : [to_events];
1688
1688
 
1689
1689
  for (let i = 0; i < target_events.length; i++) {
1690
- this._addSingleTargetEvent(full_from_event, target_events[i]);
1690
+ this._addTargetEvent(full_from_event, target_events[i]);
1691
1691
  }
1692
1692
  };
1693
1693
 
@@ -1737,7 +1737,7 @@ Eventer.prototype.unchain = function (from_event, to_events) {
1737
1737
  };
1738
1738
 
1739
1739
  Eventer.prototype._removeTargetEvents = function (full_from_event, to_events) {
1740
- let target_events = Array.is_array(to_events) ? to_events : [to_events];
1740
+ let target_events = Array.isArray(to_events) ? to_events : [to_events];
1741
1741
 
1742
1742
  for (let i = 0; i < target_events.length; i++) {
1743
1743
  this._removeTargetEvent(full_from_event, target_events[i]);
@@ -1981,7 +1981,7 @@ Eventer.prototype.onMany = function (events_map) {
1981
1981
  }
1982
1982
 
1983
1983
  for (let event_name in events_map) {
1984
- if (events_map.has_own_property(event_name)) {
1984
+ if (Object.prototype.hasOwnProperty.call(events_map, event_name)) {
1985
1985
  this.on(event_name, events_map[event_name]);
1986
1986
  }
1987
1987
  }
@@ -2035,10 +2035,11 @@ Eventer.prototype._sort = function (events) {
2035
2035
  * @private
2036
2036
  */
2037
2037
  Eventer.prototype._runMiddleware = async function (type, ctx) {
2038
- if (!this._middleware || this._middleware.length === 0) return;
2038
+ if (!this._middleware || !this._middleware[type] || this._middleware[type].length === 0) return;
2039
2039
 
2040
- for (let i = 0; i < this._middleware.length; i++) {
2041
- await this._executeSingleMiddleware(this._middleware[i], type, ctx, i);
2040
+ const mwList = this._middleware[type];
2041
+ for (let i = 0; i < mwList.length; i++) {
2042
+ await this._execMiddleware(mwList[i], type, ctx, i);
2042
2043
  // 如果上下文被取消,则停止执行
2043
2044
  if (ctx.cancelled) break;
2044
2045
  }
package/lib/file.js CHANGED
@@ -173,28 +173,6 @@ File.prototype.getAll = function (dir, keyword, keyword_dir) {
173
173
  return list;
174
174
  };
175
175
 
176
- /**
177
- * 搜索目录下所有文件
178
- * @param {string} dir 目录地址
179
- * @param {string} keyword 搜索关键词
180
- * @param {string} keyword_dir 目录搜素关键词
181
- * @returns {Array} 文件路径数组
182
- */
183
- File.prototype.getAll = function (dir, keyword, keyword_dir) {
184
- // 文件数组
185
- var list = [];
186
-
187
- // 目录数组
188
- var dirs = [];
189
- // 获取相关目录
190
- eachDir(dirs, dir.fullname(), keyword_dir);
191
- var len = dirs.length;
192
- for (var i = 0; i < len; i++) {
193
- getFile(list, dirs[i], keyword);
194
- }
195
- return list;
196
- };
197
-
198
176
  /**
199
177
  * 搜索目录下所有文件(异步并行极速版)
200
178
  * @param {string} dir 目录地址
@@ -217,7 +195,7 @@ File.prototype.getAllAsync = async function (dir, keyword, keyword_dir) {
217
195
  async function getFileAsync(directory) {
218
196
  var items;
219
197
  try {
220
- items = await fsp.readdir(directory, { with_file_types: true });
198
+ items = await fsp.readdir(directory, { withFileTypes: true });
221
199
  } catch {
222
200
  return [];
223
201
  }
@@ -409,7 +387,7 @@ function eachDir(list, dir, keyword) {
409
387
  async function eachDirAsync(list, dir, keyword) {
410
388
  var items;
411
389
  try {
412
- items = await fsp.readdir(dir, { with_file_types: true });
390
+ items = await fsp.readdir(dir, { withFileTypes: true });
413
391
  } catch {
414
392
  return;
415
393
  }
@@ -417,7 +395,7 @@ async function eachDirAsync(list, dir, keyword) {
417
395
  var subDirs = [];
418
396
  for (var i = 0; i < items.length; i++) {
419
397
  var item = items[i];
420
- if (item.isDir()) {
398
+ if (item.isDirectory()) {
421
399
  var full_path = join(dir, item.name);
422
400
  if (!keyword || item.name.has(keyword)) {
423
401
  list.push(full_path);
@@ -620,7 +598,7 @@ String.prototype.copyDir = function (file, func) {
620
598
  String.prototype.isDir = function () {
621
599
  var bl = false;
622
600
  try {
623
- bl = statSync(this + '').isDir();
601
+ bl = statSync(this + '').isDirectory();
624
602
  } catch {
625
603
  // $.log.error("非路径");
626
604
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mm_expand",
3
- "version": "2.3.9",
3
+ "version": "2.4.1",
4
4
  "description": "超级美眉原型函数扩展模块 - 增强的字符串、数组、对象、日期操作,具备错误预防功能并简化业务逻辑",
5
5
  "main": "index.js",
6
6
  "scripts": {