light-h5-core-lib 2.10.5 → 2.10.6

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/LightCore.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CollisionDetectionUtil = exports.SelfDecrypt = exports.NumberUtil = exports.BooleanUtil = exports.Crc32Util = exports.PromiseUtil = exports.BeizerUtil = exports.UniqueIDUtil = exports.StringUtil = exports.RandomNumUtil = exports.FloatDigitUtil = exports.DateUtil = exports.BitUtil = exports.MD5 = exports.BaseSingleton = exports.SetterGetterBase = exports.ClassNameUtil = exports.PoolObj = void 0;
6
+ exports.CollisionDetectionUtil = exports.SelfDecrypt = exports.GetDecorateUtils = exports.NumberUtil = exports.BooleanUtil = exports.Crc32Util = exports.PromiseUtil = exports.BeizerUtil = exports.UniqueIDUtil = exports.StringUtil = exports.RandomNumUtil = exports.FloatDigitUtil = exports.DateUtil = exports.BitUtil = exports.MD5 = exports.BaseSingleton = exports.SetterGetterBase = exports.ClassNameUtil = exports.PoolObj = void 0;
7
7
  var PoolObj_1 = require("./pool/PoolObj");
8
8
  Object.defineProperty(exports, "PoolObj", { enumerable: true, get: function () { return PoolObj_1.PoolObj; } });
9
9
  var BaseSingleton_1 = require("./common/base/BaseSingleton");
@@ -24,8 +24,8 @@ var BeizerUtil_1 = require("./common/util/BeizerUtil");
24
24
  Object.defineProperty(exports, "BeizerUtil", { enumerable: true, get: function () { return BeizerUtil_1.BeizerUtil; } });
25
25
  var MD5_1 = require("./common/md5/MD5");
26
26
  Object.defineProperty(exports, "MD5", { enumerable: true, get: function () { return MD5_1.MD5; } });
27
- var PromiseUtil_1 = __importDefault(require("./common/util/PromiseUtil"));
28
- exports.PromiseUtil = PromiseUtil_1.default;
27
+ var PromiseUtil_1 = require("./common/util/PromiseUtil");
28
+ Object.defineProperty(exports, "PromiseUtil", { enumerable: true, get: function () { return PromiseUtil_1.PromiseUtil; } });
29
29
  var Crc32Util_1 = __importDefault(require("./common/util/Crc32Util"));
30
30
  exports.Crc32Util = Crc32Util_1.default;
31
31
  var BooleanUtil_1 = require("./common/util/BooleanUtil");
@@ -40,6 +40,8 @@ var ClassNameUtil_1 = require("./common/util/ClassNameUtil");
40
40
  Object.defineProperty(exports, "ClassNameUtil", { enumerable: true, get: function () { return ClassNameUtil_1.ClassNameUtil; } });
41
41
  var SetterGetterBase_1 = require("./common/base/SetterGetterBase");
42
42
  Object.defineProperty(exports, "SetterGetterBase", { enumerable: true, get: function () { return SetterGetterBase_1.SetterGetterBase; } });
43
+ var GetDecorateUtils_1 = require("./common/util/GetDecorateUtils");
44
+ Object.defineProperty(exports, "GetDecorateUtils", { enumerable: true, get: function () { return GetDecorateUtils_1.GetDecorateUtils; } });
43
45
  module.exports = {
44
46
  PoolObj: PoolObj_1.PoolObj,
45
47
  ClassNameUtil: ClassNameUtil_1.ClassNameUtil,
@@ -53,10 +55,11 @@ module.exports = {
53
55
  StringUtil: StringUtil_1.StringUtil,
54
56
  UniqueIDUtil: UniqueIDUtil_1.UniqueIDUtil,
55
57
  BeizerUtil: BeizerUtil_1.BeizerUtil,
56
- PromiseUtil: PromiseUtil_1.default,
58
+ PromiseUtil: PromiseUtil_1.PromiseUtil,
57
59
  Crc32Util: Crc32Util_1.default,
58
60
  BooleanUtil: BooleanUtil_1.BooleanUtil,
59
61
  NumberUtil: NumberUtil_1.NumberUtil,
62
+ GetDecorateUtils: GetDecorateUtils_1.GetDecorateUtils,
60
63
  SelfDecrypt: SelfDecrypt_1.SelfDecrypt,
61
64
  CollisionDetectionUtil: CollisionDetectionUtil_1.CollisionDetectionUtil,
62
65
  };
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetDecorateUtils = void 0;
4
+ /**
5
+ * 获取装饰的相关参数
6
+ * @author Aonaufly
7
+ */
8
+ var GetDecorateUtils = /** @class */ (function () {
9
+ function GetDecorateUtils() {
10
+ }
11
+ /**
12
+ * 获取类中成员
13
+ * @param obj
14
+ * @param memberName 成员名称
15
+ */
16
+ GetDecorateUtils.getObjMember = function (obj, memberName) {
17
+ if (!obj)
18
+ return null;
19
+ if (obj[memberName]) {
20
+ return obj[memberName];
21
+ }
22
+ if (obj["__proto__"] && obj["__proto__"]["constructor"] && obj["__proto__"]["constructor"][memberName]) {
23
+ return obj["__proto__"]["constructor"][memberName];
24
+ }
25
+ if (obj["prototype"] && obj["prototype"][memberName]) {
26
+ return obj["prototype"][memberName];
27
+ }
28
+ return null;
29
+ };
30
+ /**
31
+ * 绑定方法
32
+ * @param classObj
33
+ * @param funName
34
+ * @param fun
35
+ */
36
+ GetDecorateUtils.bindFun = function (classObj, funName, fun) {
37
+ if (classObj[funName] != null) {
38
+ classObj[funName] = fun.bind(classObj);
39
+ }
40
+ else if (classObj["__proto__"] && classObj["__proto__"]["constructor"] && classObj["__proto__"]["constructor"][funName]) {
41
+ classObj["__proto__"]["constructor"][funName] = fun.bind(classObj);
42
+ }
43
+ else if (classObj["prototype"] && classObj["prototype"][funName]) {
44
+ classObj["prototype"][funName] = fun.bind(classObj);
45
+ }
46
+ else {
47
+ console.warn("".concat(funName, " \u7ED1\u5B9A\u65B9\u6CD5\u5931\u8D25!"));
48
+ }
49
+ };
50
+ /**
51
+ * 设置字段/属性的值
52
+ * @param classObj
53
+ * @param fieldName
54
+ * @param value
55
+ */
56
+ GetDecorateUtils.setFieldValue = function (classObj, fieldName, value) {
57
+ if (classObj[fieldName] != null) {
58
+ classObj[fieldName] = value;
59
+ return true;
60
+ }
61
+ else if (classObj["__proto__"] && classObj["__proto__"]["constructor"] && classObj["__proto__"]["constructor"][fieldName]) {
62
+ classObj["__proto__"]["constructor"][fieldName] = value;
63
+ return true;
64
+ }
65
+ else if (classObj["prototype"] && classObj["prototype"][fieldName]) {
66
+ classObj["prototype"][fieldName] = value;
67
+ return true;
68
+ }
69
+ return false;
70
+ };
71
+ return GetDecorateUtils;
72
+ }());
73
+ exports.GetDecorateUtils = GetDecorateUtils;
@@ -36,6 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.PromiseUtil = void 0;
39
40
  /**
40
41
  * 异步处理工具
41
42
  * @author Aonaufly
@@ -44,31 +45,58 @@ var PromiseUtil = /** @class */ (function () {
44
45
  function PromiseUtil() {
45
46
  }
46
47
  /**
47
- * 执行所有异步并返回数据
48
+ * 执行所有异步并返回数据<br>
49
+ * <div style="color: #FF0000;">⚠️:参数为异步方法数组,封装了异步方法的执行</div>
48
50
  */
49
51
  PromiseUtil.all = function (promiseArr) {
50
52
  return __awaiter(this, void 0, void 0, function () {
51
53
  return __generator(this, function (_a) {
52
54
  return [2 /*return*/, new Promise(function (resolve, reject) {
53
- var promises = Array.from(promiseArr);
54
- var r = [];
55
- var len = promises.length;
56
- var count = 0;
57
- var _loop_1 = function (i) {
58
- Promise.resolve(promises[i]).then(function (o) {
59
- r[i] = o;
60
- if (++count === len) {
61
- resolve(r);
55
+ if (!promiseArr || promiseArr.length == 0) {
56
+ resolve(new Error('promiseArr is null'));
57
+ return;
58
+ }
59
+ var execAsync = function (isFunc) {
60
+ var arr = [];
61
+ if (isFunc) {
62
+ var promiseFuncs = promiseArr.slice(0);
63
+ for (var i = 0; i < promiseFuncs.length; i++) {
64
+ arr.push(promiseFuncs[i]());
65
+ }
66
+ }
67
+ else {
68
+ var promiseObjects = promiseArr.slice(0);
69
+ var item = void 0;
70
+ for (var i = 0; i < promiseObjects.length; i++) {
71
+ item = promiseObjects[i];
72
+ if (item.params && item.params.length > 0) {
73
+ arr.push(item.asyncFunc.apply(item, item.params));
74
+ }
75
+ else {
76
+ arr.push(item.asyncFunc());
77
+ }
62
78
  }
63
- }).catch(function (e) { return reject(e); });
79
+ }
80
+ return arr;
64
81
  };
65
- for (var i = 0; i < len; i++) {
66
- _loop_1(i);
67
- }
82
+ var allPromises = execAsync(promiseArr[0] instanceof Function);
83
+ Promise.all(allPromises).then(function (promiseResult) {
84
+ resolve(promiseResult);
85
+ }).catch(function (e) { return reject(e); });
68
86
  })];
69
87
  });
70
88
  });
71
89
  };
90
+ /**
91
+ * 拼接带参数的异步列表
92
+ */
93
+ PromiseUtil.spliceExistParamsAsyncFuncList = function (funcList, params) {
94
+ var arr = [];
95
+ for (var i = 0; i < funcList.length; i++) {
96
+ arr.push({ asyncFunc: funcList[i], params: params[i] });
97
+ }
98
+ return arr;
99
+ };
72
100
  return PromiseUtil;
73
101
  }());
74
- exports.default = PromiseUtil;
102
+ exports.PromiseUtil = PromiseUtil;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "light-h5-core-lib",
3
- "version": "2.10.5",
3
+ "version": "2.10.6",
4
4
  "description": "light core lib",
5
5
  "main": "./LightCore.js",
6
6
  "types": "./type/index.d.ts",
package/pool/PoolObj.js CHANGED
@@ -56,8 +56,8 @@ var PoolObj = /** @class */ (function () {
56
56
  };
57
57
  /**
58
58
  * 获得一个Item<br>
59
- * <b style="color:green">如果size==0,则自动使用createCallback创建</b><br>
60
- * <b style="color:red">⚠️如果size==0 && createCallback==null,则返回null</b>
59
+ * <div style="color: #FF0000;">⚠️友情提示:如果有createCallback需要判断是否是New的item则提前使用 this.size == 0保存句柄</div><br>
60
+ * <b style="color:#FFFF00">⚠️如果size==0,则自动使用createCallback创建 ,如果size==0 && createCallback==null,则返回null</b>
61
61
  */
62
62
  PoolObj.prototype.one = function () {
63
63
  if (this._pool.length == 0) {
package/type/index.d.ts CHANGED
@@ -35,8 +35,8 @@ export declare class PoolObj<T> implements IClear {
35
35
  put(obj: T): boolean;
36
36
  /**
37
37
  * 获得一个Item<br>
38
- * <b style="color:green">如果size==0,则自动使用createCallback创建</b><br>
39
- * <b style="color:red">⚠️如果size==0 && createCallback==null,则返回null</b>
38
+ * <div style="color: #FF0000;">⚠️友情提示:如果有createCallback需要判断是否是New的item则提前使用 this.size == 0保存句柄</div><br>
39
+ * <b style="color:#FFFF00">⚠️如果size==0,则自动使用createCallback创建 ,如果size==0 && createCallback==null,则返回null</b>
40
40
  */
41
41
  one(): T;
42
42
  /**
@@ -338,9 +338,20 @@ export declare class MD5 extends BaseSingleton {
338
338
  */
339
339
  export declare class PromiseUtil {
340
340
  /**
341
- * 执行所有异步并返回数据
341
+ * 执行所有异步并返回数据<br>
342
+ * <div style="color: #FF0000;">⚠️:参数为异步方法数组,封装了异步方法的执行</div>
342
343
  */
343
- static all(promiseArr: Promise<any>[]): Promise<any>;
344
+ static all(promiseArr: (() => Promise<any>)[] | {
345
+ asyncFunc: (...args: any[]) => Promise<any>;
346
+ params: any[];
347
+ }[]): Promise<any>;
348
+ /**
349
+ * 拼接带参数的异步列表
350
+ */
351
+ static spliceExistParamsAsyncFuncList(funcList: ((...args: any[]) => Promise<any>)[], params: any[][]): {
352
+ asyncFunc: (...args: any[]) => Promise<any>;
353
+ params: any[];
354
+ }[];
344
355
  }
345
356
  /**
346
357
  * Crc32验证工具
@@ -507,5 +518,31 @@ export declare abstract class SetterGetterBase {
507
518
  */
508
519
  protected onPropertyChanged?(propertyName: string, newValue: any, oldValue: any): void;
509
520
  }
521
+ /**
522
+ * 获取装饰的相关参数
523
+ * @author Aonaufly
524
+ */
525
+ export declare class GetDecorateUtils {
526
+ /**
527
+ * 获取类中成员
528
+ * @param obj
529
+ * @param memberName 成员名称
530
+ */
531
+ static getObjMember<T>(obj: any, memberName: string): T;
532
+ /**
533
+ * 绑定方法
534
+ * @param classObj
535
+ * @param funName
536
+ * @param fun
537
+ */
538
+ static bindFun(classObj: any, funName: string, fun: Function): void;
539
+ /**
540
+ * 设置字段/属性的值
541
+ * @param classObj
542
+ * @param fieldName
543
+ * @param value
544
+ */
545
+ static setFieldValue<T>(classObj: any, fieldName: string, value: T): boolean;
546
+ }
510
547
 
511
548
  export {};