util-helpers 4.21.4 → 4.21.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/esm/VERSION.js CHANGED
@@ -1,4 +1,4 @@
1
- var VERSION = "4.21.4";
1
+ var VERSION = "4.21.5";
2
2
  var VERSION$1 = VERSION;
3
3
 
4
4
  export { VERSION$1 as default };
@@ -8,7 +8,7 @@ function canvasToBlob(canvas, type, quality) {
8
8
  }, type, quality);
9
9
  });
10
10
  }
11
- function compressImage(img, options) {
11
+ var compressImage = function (img, options) {
12
12
  if (options === void 0) { options = {}; }
13
13
  return new Promise(function (resolve, reject) {
14
14
  var width = options.width, height = options.height, rotate = options.rotate, _a = options.offset, offset = _a === void 0 ? [0, 0] : _a, _b = options.cacheImage, cacheImage = _b === void 0 ? true : _b, _c = options.background, background = _c === void 0 ? '#fff' : _c, canvasWidth = options.canvasWidth, canvasHeight = options.canvasHeight, _d = options.format, format = _d === void 0 ? 'blob' : _d, _e = options.type, type = _e === void 0 ? 'image/jpeg' : _e, _f = options.quality, quality = _f === void 0 ? 0.8 : _f, beforeCompress = options.beforeCompress, beforeDraw = options.beforeDraw, afterDraw = options.afterDraw, ajaxOptions = options.ajaxOptions;
@@ -65,6 +65,7 @@ function compressImage(img, options) {
65
65
  })
66
66
  .catch(reject);
67
67
  });
68
- }
68
+ };
69
+ var compressImage$1 = compressImage;
69
70
 
70
- export { compressImage as default };
71
+ export { compressImage$1 as default };
package/esm/fileReader.js CHANGED
@@ -4,7 +4,7 @@ var FileReaderMethodMap = {
4
4
  dataURL: 'readAsDataURL',
5
5
  text: 'readAsText'
6
6
  };
7
- function fileReader(blob, type) {
7
+ var fileReader = function (blob, type) {
8
8
  if (type === void 0) { type = 'dataURL'; }
9
9
  var method = FileReaderMethodMap[type];
10
10
  if (!method) {
@@ -16,6 +16,7 @@ function fileReader(blob, type) {
16
16
  reader.onload = function () { return resolve(reader.result); };
17
17
  reader.onerror = function (error) { return reject(error); };
18
18
  });
19
- }
19
+ };
20
+ var fileReader$1 = fileReader;
20
21
 
21
- export { fileReader as default };
22
+ export { fileReader$1 as default };
package/esm/index.js CHANGED
@@ -64,6 +64,6 @@ export { default as findTreeSelect } from './findTreeSelect.js';
64
64
  export { setDisableWarning } from './utils/config.js';
65
65
  export { default as VERSION } from './VERSION.js';
66
66
 
67
- var version = "4.21.4";
67
+ var version = "4.21.5";
68
68
 
69
69
  export { version };
@@ -0,0 +1,98 @@
1
+ var EmitterPro = /** @class */ (function () {
2
+ function EmitterPro() {
3
+ this.handlers = {};
4
+ }
5
+ EmitterPro.prototype.eventNames = function () {
6
+ var _a;
7
+ var symbols = ((_a = Object.getOwnPropertySymbols) === null || _a === void 0 ? void 0 : _a.call(Object, this.handlers)) || [];
8
+ var keys = Object.keys(this.handlers);
9
+ return keys.concat(symbols);
10
+ };
11
+ EmitterPro.prototype.rawListeners = function (eventName) {
12
+ var handler = this.handlers[eventName];
13
+ return handler ? handler.map(function (item) { return item.raw; }) : [];
14
+ };
15
+ EmitterPro.prototype.listeners = function (eventName) {
16
+ var handler = this.handlers[eventName];
17
+ return handler ? handler.map(function (item) { return item.wrap; }) : [];
18
+ };
19
+ EmitterPro.prototype.hasListener = function (eventName, listener) {
20
+ return this.rawListeners(eventName).some(function (item) { return item === listener; });
21
+ };
22
+ EmitterPro.prototype._on = function (eventName, raw, wrap, context, dir) {
23
+ if (context === void 0) { context = null; }
24
+ if (dir === void 0) { dir = 1; }
25
+ var currentListener = { raw: raw, wrap: wrap, context: context };
26
+ if (!this.handlers[eventName]) {
27
+ this.handlers[eventName] = [currentListener];
28
+ }
29
+ else {
30
+ var appendMethod = dir === 1 ? 'push' : 'unshift';
31
+ this.handlers[eventName][appendMethod](currentListener);
32
+ }
33
+ return this;
34
+ };
35
+ EmitterPro.prototype.prependListener = function (eventName, listener, context) {
36
+ return this._on(eventName, listener, listener, context, 0);
37
+ };
38
+ EmitterPro.prototype.on = function (eventName, listener, context) {
39
+ return this._on(eventName, listener, listener, context);
40
+ };
41
+ EmitterPro.prototype._wrapOnce = function (eventName, listener, context) {
42
+ var _this = this;
43
+ if (context === void 0) { context = null; }
44
+ var wrap = (function () {
45
+ var args = [];
46
+ for (var _i = 0; _i < arguments.length; _i++) {
47
+ args[_i] = arguments[_i];
48
+ }
49
+ listener.apply(context, args);
50
+ _this.off(eventName, wrap);
51
+ });
52
+ return wrap;
53
+ };
54
+ EmitterPro.prototype.once = function (eventName, listener, context) {
55
+ var wrap = this._wrapOnce(eventName, listener, context);
56
+ return this._on(eventName, listener, wrap, context);
57
+ };
58
+ EmitterPro.prototype.prependOnceListener = function (eventName, listener, context) {
59
+ var wrap = this._wrapOnce(eventName, listener, context);
60
+ return this._on(eventName, listener, wrap, context, 0);
61
+ };
62
+ EmitterPro.prototype.off = function (eventName, listener) {
63
+ var handler = this.handlers[eventName];
64
+ if (handler) {
65
+ if (listener) {
66
+ var index = handler.findIndex(function (item) { return item.wrap === listener || item.raw === listener; });
67
+ if (index !== -1) {
68
+ handler.splice(index, 1);
69
+ }
70
+ }
71
+ else {
72
+ delete this.handlers[eventName];
73
+ }
74
+ }
75
+ return this;
76
+ };
77
+ EmitterPro.prototype.offAll = function () {
78
+ this.handlers = {};
79
+ return this;
80
+ };
81
+ EmitterPro.prototype.emit = function (eventName) {
82
+ var args = [];
83
+ for (var _i = 1; _i < arguments.length; _i++) {
84
+ args[_i - 1] = arguments[_i];
85
+ }
86
+ var handler = this.handlers[eventName];
87
+ if (handler && handler.length > 0) {
88
+ handler.forEach(function (listener) {
89
+ listener.wrap.apply(listener.context, args);
90
+ });
91
+ return true;
92
+ }
93
+ return false;
94
+ };
95
+ return EmitterPro;
96
+ }());
97
+
98
+ export { EmitterPro as default };
package/esm/safeDate.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __spreadArray, __read } from 'tslib';
2
2
 
3
- function safeDate(value) {
3
+ var safeDate = function (value) {
4
4
  var args = [];
5
5
  for (var _i = 1; _i < arguments.length; _i++) {
6
6
  args[_i - 1] = arguments[_i];
@@ -10,6 +10,7 @@ function safeDate(value) {
10
10
  return new (Date.bind.apply(Date, __spreadArray([void 0, safeValue], __read(args), false)))();
11
11
  }
12
12
  return typeof safeValue === 'undefined' ? new Date() : new Date(safeValue);
13
- }
13
+ };
14
+ var safeDate$1 = safeDate;
14
15
 
15
- export { safeDate as default };
16
+ export { safeDate$1 as default };
@@ -1,5 +1,5 @@
1
1
  import { __extends, __assign } from 'tslib';
2
- import EmitterPro from '../node_modules/.pnpm/emitter-pro@1.0.3/node_modules/emitter-pro/dist/emitter-pro.esm.js';
2
+ import EmitterPro from '../node_modules/.pnpm/emitter-pro@1.2.1/node_modules/emitter-pro/dist/emitter-pro.esm.js';
3
3
  import { forEach } from 'ut2';
4
4
 
5
5
  var Cache = (function (_super) {
package/lib/VERSION.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var VERSION = "4.21.4";
3
+ var VERSION = "4.21.5";
4
4
  var VERSION$1 = VERSION;
5
5
 
6
6
  module.exports = VERSION$1;
@@ -10,7 +10,7 @@ function canvasToBlob(canvas, type, quality) {
10
10
  }, type, quality);
11
11
  });
12
12
  }
13
- function compressImage(img, options) {
13
+ var compressImage = function (img, options) {
14
14
  if (options === void 0) { options = {}; }
15
15
  return new Promise(function (resolve, reject) {
16
16
  var width = options.width, height = options.height, rotate = options.rotate, _a = options.offset, offset = _a === void 0 ? [0, 0] : _a, _b = options.cacheImage, cacheImage = _b === void 0 ? true : _b, _c = options.background, background = _c === void 0 ? '#fff' : _c, canvasWidth = options.canvasWidth, canvasHeight = options.canvasHeight, _d = options.format, format = _d === void 0 ? 'blob' : _d, _e = options.type, type = _e === void 0 ? 'image/jpeg' : _e, _f = options.quality, quality = _f === void 0 ? 0.8 : _f, beforeCompress = options.beforeCompress, beforeDraw = options.beforeDraw, afterDraw = options.afterDraw, ajaxOptions = options.ajaxOptions;
@@ -67,6 +67,7 @@ function compressImage(img, options) {
67
67
  })
68
68
  .catch(reject);
69
69
  });
70
- }
70
+ };
71
+ var compressImage$1 = compressImage;
71
72
 
72
- module.exports = compressImage;
73
+ module.exports = compressImage$1;
package/lib/fileReader.js CHANGED
@@ -6,7 +6,7 @@ var FileReaderMethodMap = {
6
6
  dataURL: 'readAsDataURL',
7
7
  text: 'readAsText'
8
8
  };
9
- function fileReader(blob, type) {
9
+ var fileReader = function (blob, type) {
10
10
  if (type === void 0) { type = 'dataURL'; }
11
11
  var method = FileReaderMethodMap[type];
12
12
  if (!method) {
@@ -18,6 +18,7 @@ function fileReader(blob, type) {
18
18
  reader.onload = function () { return resolve(reader.result); };
19
19
  reader.onerror = function (error) { return reject(error); };
20
20
  });
21
- }
21
+ };
22
+ var fileReader$1 = fileReader;
22
23
 
23
- module.exports = fileReader;
24
+ module.exports = fileReader$1;
package/lib/index.js CHANGED
@@ -66,7 +66,7 @@ var findTreeSelect = require('./findTreeSelect.js');
66
66
  var config = require('./utils/config.js');
67
67
  var VERSION = require('./VERSION.js');
68
68
 
69
- exports.version = "4.21.4";
69
+ exports.version = "4.21.5";
70
70
 
71
71
  exports.isMobile = isMobile;
72
72
  exports.isTelephone = isTelephone;
@@ -0,0 +1,100 @@
1
+ 'use strict';
2
+
3
+ exports.default = /** @class */ (function () {
4
+ function EmitterPro() {
5
+ this.handlers = {};
6
+ }
7
+ EmitterPro.prototype.eventNames = function () {
8
+ var _a;
9
+ var symbols = ((_a = Object.getOwnPropertySymbols) === null || _a === void 0 ? void 0 : _a.call(Object, this.handlers)) || [];
10
+ var keys = Object.keys(this.handlers);
11
+ return keys.concat(symbols);
12
+ };
13
+ EmitterPro.prototype.rawListeners = function (eventName) {
14
+ var handler = this.handlers[eventName];
15
+ return handler ? handler.map(function (item) { return item.raw; }) : [];
16
+ };
17
+ EmitterPro.prototype.listeners = function (eventName) {
18
+ var handler = this.handlers[eventName];
19
+ return handler ? handler.map(function (item) { return item.wrap; }) : [];
20
+ };
21
+ EmitterPro.prototype.hasListener = function (eventName, listener) {
22
+ return this.rawListeners(eventName).some(function (item) { return item === listener; });
23
+ };
24
+ EmitterPro.prototype._on = function (eventName, raw, wrap, context, dir) {
25
+ if (context === void 0) { context = null; }
26
+ if (dir === void 0) { dir = 1; }
27
+ var currentListener = { raw: raw, wrap: wrap, context: context };
28
+ if (!this.handlers[eventName]) {
29
+ this.handlers[eventName] = [currentListener];
30
+ }
31
+ else {
32
+ var appendMethod = dir === 1 ? 'push' : 'unshift';
33
+ this.handlers[eventName][appendMethod](currentListener);
34
+ }
35
+ return this;
36
+ };
37
+ EmitterPro.prototype.prependListener = function (eventName, listener, context) {
38
+ return this._on(eventName, listener, listener, context, 0);
39
+ };
40
+ EmitterPro.prototype.on = function (eventName, listener, context) {
41
+ return this._on(eventName, listener, listener, context);
42
+ };
43
+ EmitterPro.prototype._wrapOnce = function (eventName, listener, context) {
44
+ var _this = this;
45
+ if (context === void 0) { context = null; }
46
+ var wrap = (function () {
47
+ var args = [];
48
+ for (var _i = 0; _i < arguments.length; _i++) {
49
+ args[_i] = arguments[_i];
50
+ }
51
+ listener.apply(context, args);
52
+ _this.off(eventName, wrap);
53
+ });
54
+ return wrap;
55
+ };
56
+ EmitterPro.prototype.once = function (eventName, listener, context) {
57
+ var wrap = this._wrapOnce(eventName, listener, context);
58
+ return this._on(eventName, listener, wrap, context);
59
+ };
60
+ EmitterPro.prototype.prependOnceListener = function (eventName, listener, context) {
61
+ var wrap = this._wrapOnce(eventName, listener, context);
62
+ return this._on(eventName, listener, wrap, context, 0);
63
+ };
64
+ EmitterPro.prototype.off = function (eventName, listener) {
65
+ var handler = this.handlers[eventName];
66
+ if (handler) {
67
+ if (listener) {
68
+ var index = handler.findIndex(function (item) { return item.wrap === listener || item.raw === listener; });
69
+ if (index !== -1) {
70
+ handler.splice(index, 1);
71
+ }
72
+ }
73
+ else {
74
+ delete this.handlers[eventName];
75
+ }
76
+ }
77
+ return this;
78
+ };
79
+ EmitterPro.prototype.offAll = function () {
80
+ this.handlers = {};
81
+ return this;
82
+ };
83
+ EmitterPro.prototype.emit = function (eventName) {
84
+ var args = [];
85
+ for (var _i = 1; _i < arguments.length; _i++) {
86
+ args[_i - 1] = arguments[_i];
87
+ }
88
+ var handler = this.handlers[eventName];
89
+ if (handler && handler.length > 0) {
90
+ handler.forEach(function (listener) {
91
+ listener.wrap.apply(listener.context, args);
92
+ });
93
+ return true;
94
+ }
95
+ return false;
96
+ };
97
+ return EmitterPro;
98
+ }());
99
+
100
+ module.exports = exports.default;
package/lib/safeDate.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  var tslib = require('tslib');
4
4
 
5
- function safeDate(value) {
5
+ var safeDate = function (value) {
6
6
  var args = [];
7
7
  for (var _i = 1; _i < arguments.length; _i++) {
8
8
  args[_i - 1] = arguments[_i];
@@ -12,6 +12,7 @@ function safeDate(value) {
12
12
  return new (Date.bind.apply(Date, tslib.__spreadArray([void 0, safeValue], tslib.__read(args), false)))();
13
13
  }
14
14
  return typeof safeValue === 'undefined' ? new Date() : new Date(safeValue);
15
- }
15
+ };
16
+ var safeDate$1 = safeDate;
16
17
 
17
- module.exports = safeDate;
18
+ module.exports = safeDate$1;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var tslib = require('tslib');
4
- var emitterPro_esm = require('../node_modules/.pnpm/emitter-pro@1.0.3/node_modules/emitter-pro/dist/emitter-pro.esm.js');
4
+ var emitterPro_esm = require('../node_modules/.pnpm/emitter-pro@1.2.1/node_modules/emitter-pro/dist/emitter-pro.esm.js');
5
5
  var ut2 = require('ut2');
6
6
 
7
7
  var Cache = (function (_super) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "util-helpers",
3
- "version": "4.21.4",
3
+ "version": "4.21.5",
4
4
  "description": "一个基于业务场景的工具方法库",
5
5
  "main": "lib/index.js",
6
6
  "module": "esm/index.js",
@@ -51,8 +51,8 @@
51
51
  },
52
52
  "homepage": "https://doly-dev.github.io/util-helpers/index.html",
53
53
  "devDependencies": {
54
- "@babel/core": "^7.24.3",
55
- "@babel/preset-env": "^7.24.3",
54
+ "@babel/core": "^7.24.4",
55
+ "@babel/preset-env": "^7.24.4",
56
56
  "@babel/preset-typescript": "^7.24.1",
57
57
  "@commitlint/cli": "^17.8.1",
58
58
  "@commitlint/config-conventional": "^17.8.1",
@@ -63,8 +63,8 @@
63
63
  "@rollup/plugin-terser": "^0.4.4",
64
64
  "@rollup/plugin-typescript": "^11.1.6",
65
65
  "@types/jest": "^29.5.12",
66
- "@typescript-eslint/eslint-plugin": "^7.3.1",
67
- "@typescript-eslint/parser": "^7.3.1",
66
+ "@typescript-eslint/eslint-plugin": "^7.7.0",
67
+ "@typescript-eslint/parser": "^7.7.0",
68
68
  "babel-jest": "^29.7.0",
69
69
  "babel-plugin-minify-replace": "^0.5.0",
70
70
  "commitizen": "^4.3.0",
@@ -72,15 +72,15 @@
72
72
  "docdash": "^2.0.2",
73
73
  "eslint": "^8.57.0",
74
74
  "husky": "^9.0.11",
75
- "inquirer": "8",
75
+ "inquirer": "^8.2.6",
76
76
  "jest": "^29.7.0",
77
77
  "jest-canvas-mock": "^2.5.2",
78
78
  "jest-environment-jsdom": "^29.7.0",
79
79
  "jsdoc": "^4.0.2",
80
80
  "lint-staged": "^13.3.0",
81
81
  "prettier": "^3.2.5",
82
- "rollup": "^4.13.0",
83
- "typescript": "^5.4.3"
82
+ "rollup": "^4.14.3",
83
+ "typescript": "^5.4.5"
84
84
  },
85
85
  "lint-staged": {
86
86
  "**/*.ts": "eslint",
@@ -92,7 +92,7 @@
92
92
  }
93
93
  },
94
94
  "dependencies": {
95
- "emitter-pro": "^1.0.3",
95
+ "emitter-pro": "^1.2.1",
96
96
  "tslib": "^2.6.2",
97
97
  "ut2": "^1.7.1"
98
98
  },
@@ -22,8 +22,70 @@ type Options = {
22
22
  cacheImage?: boolean | Parameters<typeof loadImageWithBlob>[1];
23
23
  ajaxOptions?: Parameters<typeof loadImageWithBlob>[2];
24
24
  };
25
- declare function compressImage(img: string | Blob, options: Omit<Options, 'format'> & {
26
- format: 'dataURL';
27
- }): Promise<string>;
28
- declare function compressImage(img: string | Blob, options?: Options): Promise<Blob>;
25
+ interface CompressImage {
26
+ (img: string | Blob, options: Omit<Options, 'format'> & {
27
+ format: 'dataURL';
28
+ }): Promise<string>;
29
+ (img: string | Blob, options?: Options): Promise<Blob>;
30
+ }
31
+ /**
32
+ * 压缩图片。
33
+ *
34
+ * <em style="font-weight: bold;">注意:该方法仅适用于浏览器端。</em>
35
+ *
36
+ * <em style="font-weight: bold;">如果是半透明图片并且导出 `image/png` 格式,建议将背景变成透明 `background=transparent`,避免出现白边。注意正常图片压缩导出 `image/png` 格式后文件可能会比原图大。</em>
37
+ *
38
+ * @function
39
+ * @alias module:Other.compressImage
40
+ * @since 4.20.0
41
+ * @see {@link https://sytpwg.csb.app/ | 在线示例}
42
+ * @param {string | Blob} img 图片地址或 blob 对象
43
+ * @param {Object} [options] 配置项
44
+ * @param {number} [options.width] 自定义图片宽度,默认图片自身宽度
45
+ * @param {number} [options.height] 自定义图片高度,默认图片自身高度
46
+ * @param {number} [options.rotate] 旋转
47
+ * @param {Array | function} [options.offset=[0, 0]] x,y轴偏移值
48
+ * @param {string} [options.background=#fff] 背景颜色
49
+ * @param {number | function} [options.canvasWidth] 画布宽度,默认图片宽度
50
+ * @param {number | function} [options.canvasHeight] 画布高度,默认图片高度
51
+ * @param {'blob' | 'dataURL'} [options.format='blob'] 导出格式
52
+ * @param {string} [options.type='image/jpeg'] 图片类型
53
+ * @param {number} [options.quality=0.8] 图片质量
54
+ * @param {function} [options.beforeCompress] 图片加载完成,画布创建之前调用
55
+ * @param {function} [options.beforeDraw] 图片载入画布之前调用
56
+ * @param {function} [options.afterDraw] 图片载入画布之后调用
57
+ * @param {boolean | CacheOptions} [options.cacheImage=true] 是否使用 `loadImageWithBlob` 缓存。
58
+ * @param {AjaxOptions} [options.ajaxOptions] ajax 请求配置项,当传入的图片为字符串时才会触发请求。
59
+ * @returns {Promise<Blob | string>} blob 对象 或 data url 图片
60
+ * @example
61
+ *
62
+ * // 默认返回压缩后的 blob 对象
63
+ * compressImage(file).then(blob=>{
64
+ * // do something
65
+ * });
66
+ *
67
+ * // 设置返回格式 data url
68
+ * compressImage(file, { format: 'dataURL' }).then(url=>{
69
+ * // do something
70
+ * });
71
+ *
72
+ * // 自定义配置
73
+ * compressImage('https://dummyimage.com/200x300', {
74
+ * width: 100,
75
+ * height: 100,
76
+ * quality: 0.5,
77
+ * beforeCompress({ image, blob }){},
78
+ * beforeDraw({ image, blob, canvas, context }){}
79
+ * afterDraw({ image, blob, canvas, context }){}
80
+ * }).then(blob=>{
81
+ * // do something
82
+ * });
83
+ *
84
+ * // 支持不同形式的图片文件
85
+ * compressImage('data:image/png;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=').then(blob=>{
86
+ * // do something
87
+ * });
88
+ *
89
+ */
90
+ declare const compressImage: CompressImage;
29
91
  export default compressImage;
@@ -5,6 +5,35 @@ declare const FileReaderMethodMap: {
5
5
  readonly text: "readAsText";
6
6
  };
7
7
  type ReadType = keyof typeof FileReaderMethodMap;
8
- declare function fileReader(blob: Blob, type: 'arrayBuffer'): Promise<ArrayBuffer>;
9
- declare function fileReader(blob: Blob, type?: Exclude<ReadType, 'arrayBuffer'>): Promise<string>;
8
+ interface FileReader {
9
+ (blob: Blob, type: 'arrayBuffer'): Promise<ArrayBuffer>;
10
+ (blob: Blob, type?: Exclude<ReadType, 'arrayBuffer'>): Promise<string>;
11
+ }
12
+ /**
13
+ * 读取 Blob 或 File 对象,转为 Base64/String/ArrayBuffer
14
+ *
15
+ * <em style="font-weight: bold;">注意:该方法仅适用于浏览器端。</em>
16
+ *
17
+ * @function
18
+ * @alias module:Processor.fileReader
19
+ * @see {@link https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader | FileReader}
20
+ * @since 4.16.0
21
+ * @param {Blob} blob Blob 或 File 对象
22
+ * @param {'arrayBuffer'|'binaryString'|'dataURL'|'text'} [type='dataURL'] 读取类型
23
+ * @returns {Promise<string|ArrayBuffer>} 文件内容
24
+ * @example
25
+ * const aFileParts = ['<a id="a"><b id="b">hey!</b></a>']; // 一个包含DOMString的数组
26
+ * const htmlBlob = new Blob(aFileParts, { type: 'text/html' }); // 得到 blob
27
+ *
28
+ * fileReader(htmlBlob).then(data=>{
29
+ * console.log(data); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
30
+ * });
31
+ *
32
+ * const textBlob = new Blob(aFileParts, { type: 'text/plain' });
33
+ *
34
+ * fileReader(textBlob, 'text').then(data=>{
35
+ * console.log(data); // <a id="a"><b id="b">hey!</b></a>
36
+ * });
37
+ */
38
+ declare const fileReader: FileReader;
10
39
  export default fileReader;
@@ -1,4 +1,30 @@
1
- declare function safeDate(): Date;
2
- declare function safeDate(value: number | string | Date): Date;
3
- declare function safeDate(year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date;
1
+ interface SafeDate {
2
+ (): Date;
3
+ (value: number | string | Date): Date;
4
+ (year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date;
5
+ }
6
+ /**
7
+ * 创建一个 Date 实例日期对象,同 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date#%E5%8F%82%E6%95%B0">new Date()</a>
8
+ *
9
+ * 规避了苹果设备浏览器不支持部分格式(例如,YYYY-MM-DD HH-mm 或 YYYY.MM.DD)。
10
+ *
11
+ * 如果参数为 undefined 正常返回 Date 。
12
+ *
13
+ * @function
14
+ * @alias module:Processor.safeDate
15
+ * @since 4.4.0
16
+ * @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date | Date}
17
+ * @param {string|number|Date} [value] 日期时间字符串、毫秒数、日期对象
18
+ * @param {...number} [args] 月/日/时/分/秒/毫秒
19
+ * @returns {Date} Date 实例日期对象
20
+ * @example
21
+ *
22
+ * safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
23
+ * safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
24
+ * safeDate('2022.1.1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
25
+ * safeDate('2022.1.1 11:11'); // Sat Jan 01 2022 11:11:00 GMT+0800 (中国标准时间)
26
+ * safeDate(99, 1); // Mon Feb 01 1999 00:00:00 GMT+0800 (中国标准时间)
27
+ * safeDate(1646711233171); // Tue Mar 08 2022 11:47:13 GMT+0800 (中国标准时间)
28
+ */
29
+ declare const safeDate: SafeDate;
4
30
  export default safeDate;
@@ -1,72 +0,0 @@
1
- var EmitterPro = /** @class */ (function () {
2
- function EmitterPro() {
3
- this.handler = {};
4
- }
5
- EmitterPro.prototype.eventNames = function () {
6
- return Object.keys(this.handler);
7
- };
8
- EmitterPro.prototype.listeners = function (eventName) {
9
- return this.handler[eventName] || [];
10
- };
11
- EmitterPro.prototype.hasListener = function (eventName, listener) {
12
- return this.listeners(eventName).some(function (item) { return item === listener; });
13
- };
14
- EmitterPro.prototype.on = function (eventName, listener) {
15
- if (!this.handler[eventName]) {
16
- this.handler[eventName] = [listener];
17
- }
18
- else {
19
- // 不允许添加相同的方法
20
- if (!this.hasListener(eventName, listener)) {
21
- this.handler[eventName].push(listener);
22
- }
23
- }
24
- return this;
25
- };
26
- EmitterPro.prototype.off = function (eventName, listener) {
27
- if (this.handler[eventName]) {
28
- if (typeof listener === 'function') {
29
- this.handler[eventName] = this.handler[eventName].filter(function (item) { return item !== listener; });
30
- }
31
- else {
32
- delete this.handler[eventName];
33
- }
34
- }
35
- return this;
36
- };
37
- EmitterPro.prototype.emit = function (eventName) {
38
- var args = [];
39
- for (var _i = 1; _i < arguments.length; _i++) {
40
- args[_i - 1] = arguments[_i];
41
- }
42
- var listeners = this.listeners(eventName);
43
- if (listeners.length > 0) {
44
- listeners.forEach(function (listener) {
45
- // eslint-disable-next-line prefer-spread
46
- listener.apply(void 0, args);
47
- });
48
- return true;
49
- }
50
- return false;
51
- };
52
- EmitterPro.prototype.once = function (eventName, listener) {
53
- var _this = this;
54
- var wrap = function () {
55
- var args = [];
56
- for (var _i = 0; _i < arguments.length; _i++) {
57
- args[_i] = arguments[_i];
58
- }
59
- // eslint-disable-next-line prefer-spread
60
- listener.apply(void 0, args);
61
- _this.off(eventName, wrap);
62
- };
63
- return this.on(eventName, wrap);
64
- };
65
- EmitterPro.prototype.offAll = function () {
66
- this.handler = {};
67
- return this;
68
- };
69
- return EmitterPro;
70
- }());
71
-
72
- export { EmitterPro as default };