ph-utils 0.2.10 → 0.2.11

Sign up to get free protection for your applications and to get access to all the features.
package/lib/index.d.ts CHANGED
@@ -50,5 +50,12 @@ export declare class BaseError extends Error {
50
50
  * @param name 错误名称
51
51
  * @param message 错误描述
52
52
  */
53
- constructor(name: String, message: string);
53
+ constructor(name: string, message: string);
54
54
  }
55
+ /**
56
+ * 创建一个节流函数,在 wait 秒内最多执行 func 一次的函数。
57
+ * @param func 要节流的函数
58
+ * @param wait 需要节流的毫秒
59
+ * @returns
60
+ */
61
+ export declare function throttle<T extends (...args: any) => any>(func: T, wait: number): (...args: any[]) => void;
package/lib/index.js CHANGED
@@ -1,23 +1,27 @@
1
+ "use strict";
1
2
  /**
2
3
  * node 和 web 通用的工具类
3
4
  */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.throttle = exports.BaseError = exports.isBoolean = exports.isNumeric = exports.shieldMobile = exports.isBlank = void 0;
4
7
  /**
5
8
  * 验证字符串是否为空
6
9
  * @param str 待验证的字符串
7
10
  * @param ignoreWhitespace 是否忽略空格(包括空白字符串以及[\r\t\n]之类的制表符),默认为true
8
11
  */
9
- export function isBlank(str, ignoreWhitespace = true) {
12
+ function isBlank(str, ignoreWhitespace = true) {
10
13
  if (str == null) {
11
14
  return true;
12
15
  }
13
16
  return (ignoreWhitespace ? str.trim().length : str.length) === 0;
14
17
  }
18
+ exports.isBlank = isBlank;
15
19
  /**
16
20
  * 屏蔽手机号,中间部分用 * 展示
17
21
  * @param mobile 待屏蔽的手机号
18
22
  * @returns 屏蔽后的手机号,例如:123 **** 1234
19
23
  */
20
- export function shieldMobile(mobile) {
24
+ function shieldMobile(mobile) {
21
25
  let x1 = Math.round(mobile.length / 2);
22
26
  let x2 = Math.round(x1 / 2);
23
27
  let shields = [' '];
@@ -27,6 +31,7 @@ export function shieldMobile(mobile) {
27
31
  shields.push(' ');
28
32
  return mobile.substring(0, x2) + shields.join('') + mobile.substring(x2 + x1);
29
33
  }
34
+ exports.shieldMobile = shieldMobile;
30
35
  /**
31
36
  * 验证参数是否是数字
32
37
  * @param str 待验证的字符串
@@ -35,36 +40,26 @@ export function shieldMobile(mobile) {
35
40
  * @param numericParam.isFloat 是否是小数
36
41
  * @returns true 是数字, false 不是数字
37
42
  */
38
- export function isNumeric(str, numericParam) {
43
+ function isNumeric(str, numericParam) {
39
44
  numericParam = { isPositive: false, isFloat: true, ...(numericParam || {}) };
40
45
  let symbol = numericParam.isPositive ? '[+]?' : '[+-]?';
41
46
  let main = numericParam.isFloat ? '([0-9]*[.])?[0-9]+' : '[0-9]+';
42
47
  return new RegExp('^' + symbol + main + '$').test(str);
43
48
  }
49
+ exports.isNumeric = isNumeric;
44
50
  /**
45
51
  * 验证参数是否是Boolean 类型
46
52
  * @param str 待验证的字符串
47
53
  * @returns
48
54
  */
49
- export function isBoolean(str) {
55
+ function isBoolean(str) {
50
56
  return ['true', 'false'].indexOf(str) >= 0;
51
57
  }
58
+ exports.isBoolean = isBoolean;
52
59
  /**
53
60
  * 带有错误名称标记的错误类型
54
61
  */
55
- export class BaseError extends Error {
56
- constructor() {
57
- if (arguments.length === 1) {
58
- super(arguments[0]);
59
- this.name = 'BaseError';
60
- }
61
- else {
62
- super(arguments[1]);
63
- this.name = arguments[0];
64
- }
65
- }
66
- }
67
- ass BaseError extends Error {
62
+ class BaseError extends Error {
68
63
  /**
69
64
  * 错误名称,类似于 Java 中的不同的 Exception[NullPointerException];
70
65
  * 增加 name 字段,表明不同的错误,当需要根据不同的错误执行不同的处理的时候,会很有用
@@ -82,3 +77,20 @@ ass BaseError extends Error {
82
77
  }
83
78
  }
84
79
  exports.BaseError = BaseError;
80
+ /**
81
+ * 创建一个节流函数,在 wait 秒内最多执行 func 一次的函数。
82
+ * @param func 要节流的函数
83
+ * @param wait 需要节流的毫秒
84
+ * @returns
85
+ */
86
+ function throttle(func, wait) {
87
+ let lastTime = 0;
88
+ return function (...args) {
89
+ let now = Date.now();
90
+ if (now - lastTime >= wait) {
91
+ func(...args);
92
+ lastTime = now;
93
+ }
94
+ };
95
+ }
96
+ exports.throttle = throttle;
package/lib/index_m.d.ts CHANGED
@@ -50,5 +50,12 @@ export declare class BaseError extends Error {
50
50
  * @param name 错误名称
51
51
  * @param message 错误描述
52
52
  */
53
- constructor(name: String, message: string);
53
+ constructor(name: string, message: string);
54
54
  }
55
+ /**
56
+ * 创建一个节流函数,在 wait 秒内最多执行 func 一次的函数。
57
+ * @param func 要节流的函数
58
+ * @param wait 需要节流的毫秒
59
+ * @returns
60
+ */
61
+ export declare function throttle<T extends (...args: any) => any>(func: T, wait: number): (...args: any[]) => void;
package/lib/index_m.js CHANGED
@@ -64,3 +64,19 @@ export class BaseError extends Error {
64
64
  }
65
65
  }
66
66
  }
67
+ /**
68
+ * 创建一个节流函数,在 wait 秒内最多执行 func 一次的函数。
69
+ * @param func 要节流的函数
70
+ * @param wait 需要节流的毫秒
71
+ * @returns
72
+ */
73
+ export function throttle(func, wait) {
74
+ let lastTime = 0;
75
+ return function (...args) {
76
+ let now = Date.now();
77
+ if (now - lastTime >= wait) {
78
+ func(...args);
79
+ lastTime = now;
80
+ }
81
+ };
82
+ }
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "module": "lib/index_m.js",
6
6
  "types": "lib/index.d.ts",
7
7
  "browser": "lib/index_m.js",
8
- "version": "0.2.10",
8
+ "version": "0.2.11",
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "git+https//gitee.com/towardly/ph.git",