ziya-utils 1.1.5 → 1.1.7

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.
@@ -15,6 +15,18 @@ PERFORMANCE OF THIS SOFTWARE.
15
15
  /* global Reflect, Promise, SuppressedError, Symbol */
16
16
 
17
17
 
18
+ function __rest(s, e) {
19
+ var t = {};
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
21
+ t[p] = s[p];
22
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
23
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
24
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
25
+ t[p[i]] = s[p[i]];
26
+ }
27
+ return t;
28
+ }
29
+
18
30
  function __awaiter(thisArg, _arguments, P, generator) {
19
31
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
20
32
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -30,4 +42,4 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
30
42
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
31
43
  };
32
44
 
33
- export { __awaiter };
45
+ export { __awaiter, __rest };
package/es/xhr/index.d.ts CHANGED
@@ -10,9 +10,9 @@ interface InterceptRule {
10
10
  /** 拦截的 URL,模糊匹配 */
11
11
  url: string;
12
12
  /** 拦截响应的回调函数 */
13
- responseCallback: (data: any) => any;
13
+ responseCallback: (data: any, url: string) => any;
14
14
  /** 拦截请求的回调函数 */
15
- requestCallback?: (data: any) => any;
15
+ requestCallback?: (data: any, url: string) => any;
16
16
  }
17
17
  /**
18
18
  * 拦截器配置
package/es/xhr/index.js CHANGED
@@ -46,7 +46,7 @@ class XHRInterceptor {
46
46
  let processedBody = body;
47
47
  if (matchingRule.requestCallback && body) {
48
48
  try {
49
- processedBody = matchingRule.requestCallback(body);
49
+ processedBody = matchingRule.requestCallback(body, requestUrl);
50
50
  }
51
51
  catch (error) {
52
52
  console.error('XHR请求拦截器处理失败:', error);
@@ -62,7 +62,7 @@ class XHRInterceptor {
62
62
  // 解析原始响应
63
63
  const originalData = JSON.parse(xhr.responseText);
64
64
  // 使用回调函数处理响应数据
65
- const modifiedData = matchingRule.responseCallback(originalData);
65
+ const modifiedData = matchingRule.responseCallback(originalData, requestUrl);
66
66
  // 重写响应属性
67
67
  Object.defineProperty(xhr, "responseText", {
68
68
  writable: true,
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('../node_modules/tslib/tslib.es6.js');
4
+
5
+ /**
6
+ * 创建异步任务,定时检查条件直到满足后执行初始化函数
7
+ * @param checkFun 检查函数,返回 true 值时表示条件满足
8
+ * @param initFun 初始化函数,在条件满足后执行
9
+ * @param options 配置选项
10
+ * @returns Promise,resolve 初始化函数的返回值
11
+ */
12
+ function createAsyncTask(checkFun = () => null, initFun = () => undefined, options = {}) {
13
+ const { duration = 1, timeout, immediate = false } = options;
14
+ return new Promise((resolve, reject) => {
15
+ let timer = null;
16
+ let timeoutTimer = null;
17
+ // 清理定时器
18
+ const cleanup = () => {
19
+ if (timer) {
20
+ clearInterval(timer);
21
+ timer = null;
22
+ }
23
+ if (timeoutTimer) {
24
+ clearTimeout(timeoutTimer);
25
+ timeoutTimer = null;
26
+ }
27
+ };
28
+ // 检查逻辑
29
+ const check = () => tslib_es6.__awaiter(this, void 0, void 0, function* () {
30
+ try {
31
+ const res = yield checkFun();
32
+ if (res) {
33
+ cleanup();
34
+ const res2 = yield initFun(res);
35
+ resolve(res2);
36
+ }
37
+ }
38
+ catch (error) {
39
+ cleanup();
40
+ reject(error);
41
+ }
42
+ });
43
+ // 设置超时
44
+ if (timeout && timeout > 0) {
45
+ timeoutTimer = setTimeout(() => {
46
+ cleanup();
47
+ reject(new Error(`${timeout} 秒后任务将会超时。`));
48
+ }, timeout * 1000);
49
+ }
50
+ // 立即执行一次检查
51
+ if (immediate) {
52
+ check();
53
+ }
54
+ // 设置定时检查
55
+ timer = setInterval(check, duration * 1000);
56
+ });
57
+ }
58
+
59
+ exports.createAsyncTask = createAsyncTask;
@@ -3,6 +3,11 @@
3
3
  * @created 2025-04-02
4
4
  * @author glk
5
5
  */
6
+ /**
7
+ * 向head追加一个样式表
8
+ * @param styStr
9
+ * @returns
10
+ */
6
11
  declare const addStyleStr: (styStr?: string) => HTMLStyleElement;
7
12
  /**
8
13
  * 创建一个全局唯一的遮罩 Loading
@@ -22,3 +27,4 @@ declare const createMaskLoading: (msg?: string, style?: string) => {
22
27
  updateMsg: (msg: string) => void;
23
28
  };
24
29
  export { addStyleStr, createMaskLoading };
30
+ export * from "./script-dom-builder";
@@ -1,12 +1,18 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('../constant/index.js');
4
+ require('../node_modules/tslib/tslib.es6.js');
4
5
 
5
6
  /**
6
7
  * @fileoverview Document 模块
7
8
  * @created 2025-04-02
8
9
  * @author glk
9
10
  */
11
+ /**
12
+ * 向head追加一个样式表
13
+ * @param styStr
14
+ * @returns
15
+ */
10
16
  const addStyleStr = (styStr = "") => {
11
17
  let _style = document.createElement("style");
12
18
  _style.innerHTML = styStr;
@@ -0,0 +1,80 @@
1
+ interface ElementConfig {
2
+ type: 'input' | 'button' | 'select' | 'textarea' | 'checkbox' | 'label' | 'div';
3
+ keyword?: string;
4
+ saveToLocal?: boolean;
5
+ inputType?: string;
6
+ placeholder?: string;
7
+ value?: string;
8
+ text?: string;
9
+ options?: Array<{
10
+ value?: string;
11
+ text?: string;
12
+ selected?: boolean;
13
+ } | string>;
14
+ rows?: number;
15
+ checked?: boolean;
16
+ html?: string;
17
+ props?: Record<string, any>;
18
+ onClick?: (event: Event) => void;
19
+ onChange?: (event: Event) => void;
20
+ onInput?: (event: Event) => void;
21
+ onFocus?: (event: Event) => void;
22
+ onBlur?: (event: Event) => void;
23
+ onMouseEnter?: (event: Event) => void;
24
+ onMouseLeave?: (event: Event) => void;
25
+ }
26
+ interface ContainerConfig {
27
+ [key: string]: any;
28
+ }
29
+ interface DOMBuilderReturn {
30
+ container: HTMLDivElement;
31
+ get: (keyword: string) => HTMLElement | null;
32
+ getValue: (keyword: string) => string | boolean | null;
33
+ setValue: (keyword: string, value: string | boolean) => void;
34
+ show: (keyword?: string) => void;
35
+ hide: (keyword?: string) => void;
36
+ remove: () => void;
37
+ on: (keyword: string, event: string, handler: (event: Event) => void) => void;
38
+ getData: (key: string) => any;
39
+ setData: (key: string, value: any) => void;
40
+ }
41
+ /**
42
+ * 开发浏览器脚本DOM构建器
43
+ */
44
+ declare class ScriptDomBuilder {
45
+ private parentNode;
46
+ private container;
47
+ private elements;
48
+ private data;
49
+ private containerId;
50
+ private styleElement;
51
+ constructor(parentNode?: HTMLElement, containerId?: string);
52
+ createMain(items: ElementConfig[], styles?: string, containerConfig?: ContainerConfig): DOMBuilderReturn;
53
+ private createStyles;
54
+ private createItem;
55
+ private isFormElement;
56
+ private handleLocalStorage;
57
+ private createInput;
58
+ private createButton;
59
+ private createSelect;
60
+ private createTextarea;
61
+ private createCheckbox;
62
+ private createLabel;
63
+ private createDiv;
64
+ private createElement;
65
+ private bindEvents;
66
+ private getChild;
67
+ private setChild;
68
+ private getValue;
69
+ private setValue;
70
+ private show;
71
+ private hide;
72
+ private remove;
73
+ private on;
74
+ private getStorageKey;
75
+ private saveToLocalStorage;
76
+ private getFromLocalStorage;
77
+ private setData;
78
+ private getData;
79
+ }
80
+ export { ScriptDomBuilder };
@@ -0,0 +1,368 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('../node_modules/tslib/tslib.es6.js');
4
+
5
+ /**
6
+ * 开发浏览器脚本DOM构建器
7
+ */
8
+ class ScriptDomBuilder {
9
+ constructor(parentNode = document.body, containerId = "glk-script-container") {
10
+ this.container = null;
11
+ this.elements = new Map();
12
+ this.data = new Map();
13
+ this.styleElement = null;
14
+ this.parentNode = parentNode;
15
+ this.containerId = containerId;
16
+ }
17
+ // 创建主容器和子元素
18
+ createMain(items, styles = "", containerConfig = {}) {
19
+ // 创建样式
20
+ if (styles) {
21
+ this.createStyles(styles);
22
+ }
23
+ // 创建容器
24
+ this.container = this.createElement("div", Object.assign({ id: this.containerId }, containerConfig));
25
+ // 创建子元素
26
+ items.forEach((item, index) => {
27
+ const element = this.createItem(item, index);
28
+ if (element) {
29
+ this.container.appendChild(element);
30
+ }
31
+ });
32
+ // 添加到父节点
33
+ this.parentNode.appendChild(this.container);
34
+ return {
35
+ container: this.container,
36
+ get: (keyword) => this.getChild(keyword),
37
+ getValue: (keyword) => this.getValue(keyword),
38
+ setValue: (keyword, value) => this.setValue(keyword, value),
39
+ show: (keyword) => this.show(keyword),
40
+ hide: (keyword) => this.hide(keyword),
41
+ remove: () => this.remove(),
42
+ on: (keyword, event, handler) => this.on(keyword, event, handler),
43
+ getData: (key) => this.getData(key),
44
+ setData: (key, value) => this.setData(key, value),
45
+ };
46
+ }
47
+ // 创建样式
48
+ createStyles(styles) {
49
+ this.styleElement = document.createElement("style");
50
+ this.styleElement.textContent = styles;
51
+ document.head.appendChild(this.styleElement);
52
+ }
53
+ // 创建单个元素
54
+ createItem(config, index) {
55
+ const { type, keyword } = config; tslib_es6.__rest(config, ["type", "keyword"]);
56
+ let element = null;
57
+ switch (type) {
58
+ case "input":
59
+ element = this.createInput(config);
60
+ break;
61
+ case "button":
62
+ element = this.createButton(config);
63
+ break;
64
+ case "select":
65
+ element = this.createSelect(config);
66
+ break;
67
+ case "textarea":
68
+ element = this.createTextarea(config);
69
+ break;
70
+ case "checkbox":
71
+ element = this.createCheckbox(config);
72
+ break;
73
+ case "label":
74
+ element = this.createLabel(config);
75
+ break;
76
+ case "div":
77
+ element = this.createDiv(config);
78
+ break;
79
+ default:
80
+ console.warn(`未支持的元素类型: ${type}`);
81
+ return null;
82
+ }
83
+ // 存储元素引用
84
+ if (keyword && element) {
85
+ this.setChild(keyword, element);
86
+ // 处理本地存储逻辑
87
+ if (config.saveToLocal && this.isFormElement(type)) {
88
+ this.handleLocalStorage(element, config, type);
89
+ }
90
+ }
91
+ return element;
92
+ }
93
+ // 判断是否为表单元素
94
+ isFormElement(type) {
95
+ return ["input", "textarea", "select", "checkbox"].includes(type);
96
+ }
97
+ // 处理本地存储逻辑
98
+ handleLocalStorage(element, config, type) {
99
+ const storageKey = this.getStorageKey(config.keyword);
100
+ const savedValue = this.getFromLocalStorage(storageKey);
101
+ // 设置初始值
102
+ if (savedValue !== null) {
103
+ // 有本地存储值,使用本地值
104
+ if (type === "checkbox") {
105
+ const checkbox = element.querySelector('input[type="checkbox"]');
106
+ if (checkbox) {
107
+ checkbox.checked = savedValue === "true";
108
+ }
109
+ }
110
+ else {
111
+ const formElement = element;
112
+ formElement.value = savedValue;
113
+ }
114
+ }
115
+ else {
116
+ // 没有本地存储值,使用初始值或空值
117
+ if (type === "checkbox") {
118
+ const checkbox = element.querySelector('input[type="checkbox"]');
119
+ if (checkbox) {
120
+ checkbox.checked = config.checked || false;
121
+ }
122
+ }
123
+ else {
124
+ const formElement = element;
125
+ formElement.value = config.value || "";
126
+ }
127
+ }
128
+ // 绑定实时保存事件
129
+ if (type === "checkbox") {
130
+ const checkbox = element.querySelector('input[type="checkbox"]');
131
+ if (checkbox) {
132
+ checkbox.addEventListener("change", (e) => {
133
+ const target = e.target;
134
+ this.saveToLocalStorage(storageKey, target.checked.toString());
135
+ });
136
+ }
137
+ }
138
+ else {
139
+ const eventType = type === "select" ? "change" : "input";
140
+ element.addEventListener(eventType, (e) => {
141
+ const target = e.target;
142
+ this.saveToLocalStorage(storageKey, target.value);
143
+ });
144
+ }
145
+ }
146
+ // 创建输入框
147
+ createInput(config) {
148
+ const input = this.createElement("input", Object.assign({ type: config.inputType || "text", name: config.keyword, placeholder: config.placeholder || "", value: config.value || "" }, config.props));
149
+ // 绑定事件
150
+ this.bindEvents(input, config);
151
+ return input;
152
+ }
153
+ // 创建按钮
154
+ createButton(config) {
155
+ const button = this.createElement("button", Object.assign({ textContent: config.text || config.keyword || "Button", name: config.keyword }, config.props));
156
+ // 绑定事件
157
+ this.bindEvents(button, config);
158
+ return button;
159
+ }
160
+ // 创建下拉框
161
+ createSelect(config) {
162
+ const select = this.createElement("select", Object.assign({ name: config.keyword }, config.props));
163
+ // 添加选项
164
+ if (config.options) {
165
+ config.options.forEach((option) => {
166
+ const optionEl = document.createElement("option");
167
+ if (typeof option === 'string') {
168
+ optionEl.value = option;
169
+ optionEl.textContent = option;
170
+ }
171
+ else {
172
+ optionEl.value = option.value || option.text || '';
173
+ optionEl.textContent = option.text || option.value || '';
174
+ if (option.selected)
175
+ optionEl.selected = true;
176
+ }
177
+ select.appendChild(optionEl);
178
+ });
179
+ }
180
+ // 绑定事件
181
+ this.bindEvents(select, config);
182
+ return select;
183
+ }
184
+ // 创建文本域
185
+ createTextarea(config) {
186
+ const textarea = this.createElement("textarea", Object.assign({ name: config.keyword, placeholder: config.placeholder || "", value: config.value || "", rows: config.rows || 3 }, config.props));
187
+ // 绑定事件
188
+ this.bindEvents(textarea, config);
189
+ return textarea;
190
+ }
191
+ // 创建复选框
192
+ createCheckbox(config) {
193
+ const wrapper = document.createElement("div");
194
+ const checkbox = this.createElement("input", Object.assign({ type: "checkbox", id: config.keyword, name: config.keyword, checked: config.checked || false }, config.props));
195
+ const label = document.createElement("label");
196
+ label.setAttribute("for", config.keyword || '');
197
+ label.textContent = config.text || config.keyword || "Checkbox";
198
+ // 绑定事件
199
+ this.bindEvents(checkbox, config);
200
+ wrapper.appendChild(checkbox);
201
+ wrapper.appendChild(label);
202
+ // 将checkbox存储为主要元素
203
+ if (config.keyword) {
204
+ this.setChild(config.keyword, checkbox);
205
+ }
206
+ return wrapper;
207
+ }
208
+ // 创建标签
209
+ createLabel(config) {
210
+ return this.createElement("label", Object.assign({ textContent: config.text || config.keyword || "", name: config.keyword }, config.props));
211
+ }
212
+ // 创建DIV
213
+ createDiv(config) {
214
+ const div = this.createElement("div", Object.assign({ textContent: config.text || "", innerHTML: config.html || undefined, name: config.keyword }, config.props));
215
+ // 绑定事件
216
+ this.bindEvents(div, config);
217
+ return div;
218
+ }
219
+ // 通用元素创建方法
220
+ createElement(tag, props = {}) {
221
+ const element = document.createElement(tag);
222
+ Object.keys(props).forEach((key) => {
223
+ if (key === "innerHTML") {
224
+ element.innerHTML = props[key];
225
+ }
226
+ else {
227
+ element[key] = props[key];
228
+ }
229
+ });
230
+ return element;
231
+ }
232
+ // 绑定事件
233
+ bindEvents(element, config) {
234
+ const eventTypes = ["onClick", "onChange", "onInput", "onFocus", "onBlur", "onMouseEnter", "onMouseLeave"];
235
+ eventTypes.forEach((eventType) => {
236
+ const handler = config[eventType];
237
+ if (handler) {
238
+ const eventName = eventType.slice(2).toLowerCase();
239
+ element.addEventListener(eventName, handler);
240
+ }
241
+ });
242
+ }
243
+ // 获取子元素
244
+ getChild(keyword) {
245
+ return this.elements.get(keyword) || null;
246
+ }
247
+ // 设置子元素
248
+ setChild(keyword, element) {
249
+ if (!this.elements.has(keyword)) {
250
+ this.elements.set(keyword, element);
251
+ }
252
+ }
253
+ // 获取元素值
254
+ getValue(keyword) {
255
+ const element = this.getChild(keyword);
256
+ if (!element)
257
+ return null;
258
+ if (element.type === "checkbox") {
259
+ return element.checked;
260
+ }
261
+ const formElement = element;
262
+ return formElement.value || element.textContent || null;
263
+ }
264
+ // 设置元素值
265
+ setValue(keyword, value) {
266
+ const element = this.getChild(keyword);
267
+ if (!element)
268
+ return;
269
+ if (element.type === "checkbox") {
270
+ element.checked = Boolean(value);
271
+ }
272
+ else {
273
+ const formElement = element;
274
+ if (formElement.value !== undefined) {
275
+ formElement.value = String(value);
276
+ }
277
+ else {
278
+ element.textContent = String(value);
279
+ }
280
+ }
281
+ }
282
+ // 显示容器或子元素
283
+ show(keyword) {
284
+ if (keyword) {
285
+ const element = this.getChild(keyword);
286
+ if (element) {
287
+ // 显示元素,如果是checkbox,显示其父容器
288
+ const targetElement = element.type === "checkbox" ? element.parentElement : element;
289
+ if (targetElement) {
290
+ targetElement.style.display = "";
291
+ }
292
+ }
293
+ }
294
+ else {
295
+ if (this.container) {
296
+ this.container.style.display = "";
297
+ }
298
+ }
299
+ }
300
+ // 隐藏容器或子元素
301
+ hide(keyword) {
302
+ if (keyword) {
303
+ const element = this.getChild(keyword);
304
+ if (element) {
305
+ // 隐藏元素,如果是checkbox,隐藏其父容器
306
+ const targetElement = element.type === "checkbox" ? element.parentElement : element;
307
+ if (targetElement) {
308
+ targetElement.style.display = "none";
309
+ }
310
+ }
311
+ }
312
+ else {
313
+ if (this.container) {
314
+ this.container.style.display = "none";
315
+ }
316
+ }
317
+ }
318
+ // 移除容器
319
+ remove() {
320
+ if (this.container) {
321
+ this.container.remove();
322
+ this.container = null;
323
+ this.elements.clear();
324
+ }
325
+ if (this.styleElement) {
326
+ this.styleElement.remove();
327
+ this.styleElement = null;
328
+ }
329
+ }
330
+ // 事件绑定
331
+ on(keyword, event, handler) {
332
+ const element = this.getChild(keyword);
333
+ if (element) {
334
+ element.addEventListener(event, handler);
335
+ }
336
+ }
337
+ // 获取存储key
338
+ getStorageKey(keyword) {
339
+ return `${this.containerId}_${keyword}`;
340
+ }
341
+ // 本地存储相关方法
342
+ saveToLocalStorage(key, value) {
343
+ try {
344
+ localStorage.setItem(key, value);
345
+ }
346
+ catch (e) {
347
+ console.warn("无法保存到本地存储:", e);
348
+ }
349
+ }
350
+ getFromLocalStorage(key) {
351
+ try {
352
+ return localStorage.getItem(key);
353
+ }
354
+ catch (e) {
355
+ console.warn("无法从本地存储读取:", e);
356
+ return null;
357
+ }
358
+ }
359
+ // 内存数据存储
360
+ setData(key, value) {
361
+ this.data.set(key, value);
362
+ }
363
+ getData(key) {
364
+ return this.data.get(key);
365
+ }
366
+ }
367
+
368
+ exports.ScriptDomBuilder = ScriptDomBuilder;
@@ -10,6 +10,12 @@ type FormDataInput = string | Record<string, FormDataValue | FormDataValue[] | R
10
10
  * @param data 要转换的数据,可以是查询字符串或对象
11
11
  * @returns FormData 对象
12
12
  */
13
- declare function createFormData(data: FormDataInput): FormData;
14
- export { createFormData };
13
+ declare const createFormData: (data: FormDataInput) => FormData;
14
+ /**
15
+ * json 转换为查询字符串
16
+ * @param json
17
+ * @returns
18
+ */
19
+ declare const jsonToQueryString: (json: Record<string, any>) => string;
20
+ export { createFormData, jsonToQueryString };
15
21
  export type { FormDataInput, FormDataValue };
package/lib/form/index.js CHANGED
@@ -10,7 +10,7 @@
10
10
  * @param data 要转换的数据,可以是查询字符串或对象
11
11
  * @returns FormData 对象
12
12
  */
13
- function createFormData(data) {
13
+ const createFormData = (data) => {
14
14
  const formData = new FormData();
15
15
  if (typeof data === "string") {
16
16
  // 处理查询字符串
@@ -48,6 +48,15 @@ function createFormData(data) {
48
48
  });
49
49
  }
50
50
  return formData;
51
- }
51
+ };
52
+ /**
53
+ * json 转换为查询字符串
54
+ * @param json
55
+ * @returns
56
+ */
57
+ const jsonToQueryString = (json) => {
58
+ return new URLSearchParams(json).toString();
59
+ };
52
60
 
53
61
  exports.createFormData = createFormData;
62
+ exports.jsonToQueryString = jsonToQueryString;
package/lib/index.d.ts CHANGED
@@ -8,3 +8,4 @@ export * from "./count";
8
8
  export * from "./xhr";
9
9
  export * from "./constant";
10
10
  export * from "./document";
11
+ export * from "./async";
package/lib/index.js CHANGED
@@ -10,6 +10,8 @@ var index$6 = require('./count/index.js');
10
10
  var index$7 = require('./xhr/index.js');
11
11
  var index$8 = require('./constant/index.js');
12
12
  var index$9 = require('./document/index.js');
13
+ var index$a = require('./async/index.js');
14
+ var scriptDomBuilder = require('./document/script-dom-builder.js');
13
15
 
14
16
 
15
17
 
@@ -26,9 +28,12 @@ exports.getUuid = index$3.getUuid;
26
28
  exports.RegexPatterns = index$4.RegexPatterns;
27
29
  exports.RegexValidator = index$4.RegexValidator;
28
30
  exports.createFormData = index$5.createFormData;
31
+ exports.jsonToQueryString = index$5.jsonToQueryString;
29
32
  exports.precisionFormat = index$6.precisionFormat;
30
33
  exports.XHRInterceptor = index$7.XHRInterceptor;
31
34
  exports.xhrInterceptor = index$7.xhrInterceptor;
32
35
  exports.Lib_Name = index$8.Lib_Name;
33
36
  exports.addStyleStr = index$9.addStyleStr;
34
37
  exports.createMaskLoading = index$9.createMaskLoading;
38
+ exports.createAsyncTask = index$a.createAsyncTask;
39
+ exports.ScriptDomBuilder = scriptDomBuilder.ScriptDomBuilder;