mm_machine 1.7.4 → 1.7.5

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.
Files changed (2) hide show
  1. package/index.js +50 -6
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -752,13 +752,15 @@ Index.prototype.reload = function(name) {
752
752
  * @return {Object} 执行结果
753
753
  */
754
754
  Index.prototype.run = async function(name, method, ...params) {
755
- var ret;
755
+ var result;
756
756
  if (name) {
757
757
  var o = await this.get(name);
758
758
  if (o) {
759
- ret = o.run(method, ...params);
759
+ var ret = o.run(method, ...params);
760
760
  if (util.types.isPromise(ret)) {
761
- ret = await ret;
761
+ result = await ret;
762
+ } else {
763
+ result = ret;
762
764
  }
763
765
  if (this.mode) {
764
766
  o.reload();
@@ -768,15 +770,57 @@ Index.prototype.run = async function(name, method, ...params) {
768
770
  var lt = this.list;
769
771
  for (var i = 0; i < lt.length; i++) {
770
772
  var o = lt[i];
771
- ret = o.run(method, ...params);
773
+ var ret = o.run(method, ...params);
772
774
  if (util.types.isPromise(ret)) {
773
- ret = await ret;
775
+ result = await ret;
776
+ } else {
777
+ result = ret;
774
778
  }
775
779
  }
776
780
  }
777
- return ret;
781
+ return result;
778
782
  };
779
783
 
784
+ /**
785
+ * 执行方法
786
+ * @param {String} name 插件名称
787
+ * @param {String} method 方法名称
788
+ * @param {Object} option 配置参数
789
+ * @return {String} 执行结果
790
+ */
791
+ Index.prototype.exec = function(name, method, ...params) {
792
+ var result;
793
+ if (name) {
794
+ var o = await this.get(name);
795
+ if (o && o.config.state === 1) {
796
+ var ret = o.run(method, ...params);
797
+ if (util.types.isPromise(ret)) {
798
+ result = await ret;
799
+ } else {
800
+ result = ret;
801
+ }
802
+ if (this.mode) {
803
+ o.reload();
804
+ }
805
+ }
806
+ } else if (name === null) {
807
+ var lt = this.list;
808
+ for (var i = 0; i < lt.length; i++) {
809
+ var o = lt[i];
810
+ if (o.config.state === 1) {
811
+ var ret = o.run(method, ...params);
812
+ if (util.types.isPromise(ret)) {
813
+ result = await ret;
814
+ } else {
815
+ result = ret;
816
+ }
817
+ }
818
+ }
819
+ }
820
+ return result;
821
+ };
822
+
823
+
780
824
  /**
781
825
  * @module 导出Index类
782
826
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mm_machine",
3
- "version": "1.7.4",
3
+ "version": "1.7.5",
4
4
  "description": "这是超级美眉框架机制构建辅助模块,用于快速构建一个机制",
5
5
  "main": "index.js",
6
6
  "scripts": {