ph-utils 0.15.4 → 0.15.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.
package/lib/dom.d.ts CHANGED
@@ -48,7 +48,7 @@ export declare function $$(tag: string, option?: {
48
48
  * @param dom - 可选的父级 DOM 元素,默认为当前文档。
49
49
  * @returns 返回匹配的第一个 HTMLElement,如果没有找到则返回 undefined。
50
50
  */
51
- export declare function $one(selector: string | HTMLElement, dom?: DocumentContext): HTMLElement | undefined;
51
+ export declare function $one(selector: string | HTMLElement, dom?: DocumentContext): HTMLElement | null;
52
52
  /**
53
53
  * 为节点添加 class
54
54
  * @param {HTMLElement} elem 待添加 class 的节点
@@ -155,7 +155,7 @@ export declare function parent(el: HTMLElement): HTMLElement;
155
155
  * @param parent - 添加临时节点的父节点, 如果传递 null, 则通过修改原始样式方式计算,默认为: body.
156
156
  * @returns The DOMRect of the element.
157
157
  */
158
- export declare function queryHideNodeSize(hideNode: string | HTMLElement, parent?: HTMLElement): {
158
+ export declare function queryHideNodeSize(hideNode: string | HTMLElement, parent?: null | HTMLElement): {
159
159
  width: number;
160
160
  height: number;
161
161
  };
package/lib/dom.js CHANGED
@@ -78,8 +78,10 @@ export function $$(tag, option = {}, ctx) {
78
78
  * @returns 返回匹配的第一个 HTMLElement,如果没有找到则返回 undefined。
79
79
  */
80
80
  export function $one(selector, dom) {
81
- const els = elem(selector, dom);
82
- return els.length > 0 ? els[0] : undefined;
81
+ if (typeof selector === "string") {
82
+ return (dom || document).querySelector(selector);
83
+ }
84
+ return selector;
83
85
  }
84
86
  /**
85
87
  * 为节点添加 class
@@ -317,9 +319,9 @@ export function queryHideNodeSize(hideNode, parent = document.body) {
317
319
  $tmpInner.appendChild(hideNode.cloneNode(true));
318
320
  }
319
321
  $tmp.appendChild($tmpInner);
320
- parent.appendChild($tmp);
322
+ (parent || document.body).appendChild($tmp);
321
323
  let rect = $tmpInner.children[0].getBoundingClientRect();
322
- parent.removeChild($tmp);
324
+ (parent || document.body).removeChild($tmp);
323
325
  return { width: rect.width, height: rect.height };
324
326
  }
325
327
  /**
package/lib/validator.js CHANGED
@@ -13,7 +13,7 @@ const ruleRegexs = {
13
13
  /** 验证跟其余数据相等的正则,一般用于验证再次输入密码 */
14
14
  same: /^same:(.+)$/i,
15
15
  /** 验证手机号的正则表达式 */
16
- mobile: /^1[345678]\d{9}$/,
16
+ mobile: /^1[3456789]\d{9}$/,
17
17
  /** 非空验证的正则表达式 */
18
18
  required: /^\S{1}.*/,
19
19
  };
@@ -128,6 +128,8 @@ class Validator {
128
128
  _validateRule(rules, value, data) {
129
129
  let errMsg = "";
130
130
  for (let rule of rules) {
131
+ if (!rule)
132
+ continue;
131
133
  // 如果数据为空,则判断是否是必填
132
134
  if (rule.rule === "required") {
133
135
  if (value == null || !ruleFns.pattern(ruleRegexs.required, value)) {
@@ -147,7 +149,7 @@ class Validator {
147
149
  }
148
150
  }
149
151
  else {
150
- if (!ruleFns.pattern(rule.rule, value)) {
152
+ if (rule && !ruleFns.pattern(rule.rule, value)) {
151
153
  errMsg = rule.message;
152
154
  }
153
155
  }
@@ -166,7 +168,7 @@ class Validator {
166
168
  }
167
169
  if (rule != null) {
168
170
  if (typeof rule === "string") {
169
- rules = rules.concat(this._parseStringRule(rule, schema.message));
171
+ rules.push(...this._parseStringRule(rule, schema.message));
170
172
  }
171
173
  else if (rule instanceof Array) {
172
174
  for (let ruleItem of rule) {
@@ -181,13 +183,14 @@ class Validator {
181
183
  });
182
184
  }
183
185
  else {
186
+ const emessage = ruleItem.message || schema.message || defaultMsg;
184
187
  if (typeof ruleItem.rule === "string") {
185
- rules.push(...this._parseStringRule(ruleItem.rule, ruleItem.message));
188
+ rules.push(...this._parseStringRule(ruleItem.rule, emessage));
186
189
  }
187
190
  else {
188
191
  rules.push({
189
192
  rule: ruleItem.rule,
190
- message: ruleItem.message || defaultMsg,
193
+ message: emessage,
191
194
  });
192
195
  }
193
196
  }
@@ -225,7 +228,9 @@ class Validator {
225
228
  rrule = ruleRegexs[r];
226
229
  message = message || defaultMsgs[r];
227
230
  }
228
- rules.push({ rule: rrule, message: message, sameKey });
231
+ if (rrule) {
232
+ rules.push({ rule: rrule, message: message, sameKey });
233
+ }
229
234
  }
230
235
  return rules;
231
236
  }
package/package.json CHANGED
@@ -68,7 +68,7 @@
68
68
  },
69
69
  "./*": "./lib/*"
70
70
  },
71
- "version": "0.15.4",
71
+ "version": "0.15.5",
72
72
  "type": "module",
73
73
  "repository": {
74
74
  "type": "git",