@haluo/util 2.0.7 → 2.0.8

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.
Files changed (38) hide show
  1. package/dist/index.js +34 -20
  2. package/dist/modules/cookie/index.js +2 -1
  3. package/dist/modules/date/index.js +1 -1
  4. package/dist/modules/dom/index.js +1 -1
  5. package/dist/modules/filter/index.js +11 -20
  6. package/dist/modules/format/index.js +2 -1
  7. package/dist/modules/match/index.js +1 -1
  8. package/dist/modules/monitor/lib/jsError.js +3 -10
  9. package/dist/modules/monitor/lib/xhr.js +1 -3
  10. package/dist/modules/monitor/utils/tracker.js +1 -23
  11. package/dist/modules/number/index.js +2 -1
  12. package/dist/modules/sentry/index.js +9 -6
  13. package/dist/modules/tools/index.js +1 -1
  14. package/dist/tsconfig.tsbuildinfo +71 -1536
  15. package/dist/types/index.d.ts +24 -3
  16. package/dist/types/modules/cookie/index.d.ts +2 -0
  17. package/dist/types/modules/date/index.d.ts +52 -1
  18. package/dist/types/modules/dom/index.d.ts +28 -1
  19. package/dist/types/modules/filter/index.d.ts +4 -6
  20. package/dist/types/modules/format/index.d.ts +2 -0
  21. package/dist/types/modules/match/index.d.ts +12 -1
  22. package/dist/types/modules/monitor/utils/tracker.d.ts +0 -1
  23. package/dist/types/modules/number/index.d.ts +3 -1
  24. package/dist/types/modules/tools/index.d.ts +166 -1
  25. package/package.json +1 -1
  26. package/dist/index.cjs.js +0 -89
  27. package/dist/index.d.ts +0 -12
  28. package/dist/index.esm.js +0 -87
  29. package/dist/lib-list.d.ts +0 -2
  30. package/dist/modules/cookie/index.d.ts +0 -27
  31. package/dist/modules/date/index.d.ts +0 -1
  32. package/dist/modules/dom/index.d.ts +0 -1
  33. package/dist/modules/filter/index.d.ts +0 -26
  34. package/dist/modules/format/index.d.ts +0 -13
  35. package/dist/modules/match/index.d.ts +0 -1
  36. package/dist/modules/number/index.d.ts +0 -39
  37. package/dist/modules/sentry/index.d.ts +0 -15
  38. package/dist/modules/tools/index.d.ts +0 -1
package/dist/index.js CHANGED
@@ -1,17 +1,34 @@
1
- /**
2
- * @Author: wanghui
3
- * createBy: @2020.05.21
4
- */
5
- 'use strict';
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.tools = exports.number = exports.match = exports.format = exports.filter = exports.dom = exports.date = exports.cookie = void 0;
7
+ var cookie_1 = __importDefault(require("./modules/cookie"));
8
+ exports.cookie = cookie_1.default;
9
+ var date_1 = __importDefault(require("./modules/date"));
10
+ exports.date = date_1.default;
11
+ var dom_1 = __importDefault(require("./modules/dom"));
12
+ exports.dom = dom_1.default;
13
+ var filter_1 = __importDefault(require("./modules/filter"));
14
+ exports.filter = filter_1.default;
15
+ var format_1 = __importDefault(require("./modules/format"));
16
+ exports.format = format_1.default;
17
+ var match_1 = __importDefault(require("./modules/match"));
18
+ exports.match = match_1.default;
19
+ var number_1 = __importDefault(require("./modules/number"));
20
+ exports.number = number_1.default;
21
+ var tools_1 = __importDefault(require("./modules/tools"));
22
+ exports.tools = tools_1.default;
6
23
  var modules = {
7
- cookie: require('./modules/cookie'),
8
- date: require('./modules/date'),
9
- dom: require('./modules/dom'),
10
- filter: require('./modules/filter'),
11
- format: require('./modules/format'),
12
- match: require('./modules/match'),
13
- number: require('./modules/number'),
14
- tools: require('./modules/tools'),
24
+ cookie: cookie_1.default,
25
+ date: date_1.default,
26
+ dom: dom_1.default,
27
+ filter: filter_1.default,
28
+ format: format_1.default,
29
+ match: match_1.default,
30
+ number: number_1.default,
31
+ tools: tools_1.default,
15
32
  };
16
33
  var Utils = /** @class */ (function () {
17
34
  function Utils() {
@@ -22,15 +39,12 @@ var Utils = /** @class */ (function () {
22
39
  * 示例:this.$cookie、this.$date、this.$match、this.$number、this.$tools
23
40
  * @param {Object} Vue 需要挂载的目标对象
24
41
  */
25
- Utils.prototype.install = function (Vue) {
42
+ Utils.prototype.install = function (app) {
26
43
  Object.keys(modules).forEach(function (key) {
27
- if (key === 'filter') {
28
- return modules[key].install(Vue);
29
- }
30
- Vue.prototype['$' + key] = modules[key];
31
- Vue['$' + key] = modules[key];
44
+ var globalProperties = app.config.globalProperties;
45
+ globalProperties['$' + key] = modules[key];
32
46
  });
33
47
  };
34
48
  return Utils;
35
49
  }());
36
- module.exports = new Utils();
50
+ exports.default = new Utils();
@@ -4,6 +4,7 @@
4
4
  * @createBy: @2021.01.21
5
5
  */
6
6
  'use strict';
7
+ Object.defineProperty(exports, "__esModule", { value: true });
7
8
  var CookieClass = /** @class */ (function () {
8
9
  function CookieClass() {
9
10
  }
@@ -51,4 +52,4 @@ var CookieClass = /** @class */ (function () {
51
52
  };
52
53
  return CookieClass;
53
54
  }());
54
- module.exports = new CookieClass();
55
+ exports.default = new CookieClass();
@@ -189,4 +189,4 @@ var DateClass = /** @class */ (function () {
189
189
  };
190
190
  return DateClass;
191
191
  }());
192
- module.exports = new DateClass();
192
+ exports.default = new DateClass();
@@ -59,4 +59,4 @@ var DomClass = /** @class */ (function () {
59
59
  };
60
60
  return DomClass;
61
61
  }());
62
- module.exports = new DomClass();
62
+ exports.default = new DomClass();
@@ -3,17 +3,14 @@
3
3
  * @Author: wanghui
4
4
  * @createBy: @2020.05.28
5
5
  */
6
- /**
7
- * 示例:注入所有过滤器
8
- * import { filter as filters } from '@haluo/util'
9
- * Object.keys(filters).forEach(key => {
10
- * Vue.filter(key, filters[key])
11
- * })
12
- */
13
6
  'use strict';
14
- var dateClass = require('../date');
15
- var numberClass = require('../number');
16
- var toolsClass = require('../tools');
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ var date_1 = __importDefault(require("../date"));
12
+ var number_1 = __importDefault(require("../number"));
13
+ var tools_1 = __importDefault(require("../tools"));
17
14
  var FilterClass = /** @class */ (function () {
18
15
  function FilterClass() {
19
16
  }
@@ -25,7 +22,7 @@ var FilterClass = /** @class */ (function () {
25
22
  */
26
23
  FilterClass.prototype.format = function (date, fmt) {
27
24
  if (fmt === void 0) { fmt = 'YYYY-MM-DD HH:mm:ss'; }
28
- return dateClass.format(date, fmt);
25
+ return date_1.default.format(date, fmt);
29
26
  };
30
27
  /**
31
28
  * 格式化金额,示例:123456 | formatMoney
@@ -33,7 +30,7 @@ var FilterClass = /** @class */ (function () {
33
30
  * @return {String} 123,456
34
31
  */
35
32
  FilterClass.prototype.formatMoney = function (money) {
36
- return numberClass.formatMoney(money);
33
+ return number_1.default.formatMoney(money);
37
34
  };
38
35
  /**
39
36
  * 截取数组或字符串,示例:'1234' | slice(3)
@@ -44,14 +41,8 @@ var FilterClass = /** @class */ (function () {
44
41
  FilterClass.prototype.slice = function (target, length) {
45
42
  if (target === void 0) { target = ''; }
46
43
  if (length === void 0) { length = 0; }
47
- return toolsClass.slice(target, length);
48
- };
49
- FilterClass.prototype.install = function (Vue) {
50
- var _this = this;
51
- Vue.filter('format', _this.format);
52
- Vue.filter('formatMoney', _this.formatMoney);
53
- Vue.filter('slice', _this.slice);
44
+ return tools_1.default.slice(target, length);
54
45
  };
55
46
  return FilterClass;
56
47
  }());
57
- module.exports = new FilterClass();
48
+ exports.default = new FilterClass();
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  var Format = /** @class */ (function () {
3
4
  function Format() {
4
5
  }
@@ -18,4 +19,4 @@ var Format = /** @class */ (function () {
18
19
  };
19
20
  return Format;
20
21
  }());
21
- module.exports = new Format();
22
+ exports.default = new Format();
@@ -28,4 +28,4 @@ var MatchClass = /** @class */ (function () {
28
28
  };
29
29
  return MatchClass;
30
30
  }());
31
- module.exports = new MatchClass();
31
+ exports.default = new MatchClass();
@@ -20,16 +20,9 @@ function injectJsError(data) {
20
20
  if (data === void 0) { data = {}; }
21
21
  window.addEventListener('error', function (e) {
22
22
  if (e.target && (e.target.src || e.target.href)) {
23
- // track.send({
24
- // kind: 'stability',
25
- // type: 'error',
26
- // title: 'resourceError',
27
- // filename: e.target.src || e.target.href,
28
- // tagName: e.target.tagName,
29
- // reason: e.target.src || e.target.href,
30
- // ...data
31
- // // selector: lastEvent ? get
32
- // })
23
+ tracker_1.default.send(__assign({ kind: 'stability', type: 'error', title: 'resourceError', filename: e.target.src || e.target.href, tagName: e.target.tagName, reason: e.target.src || e.target.href }, data
24
+ // selector: lastEvent ? get
25
+ ));
33
26
  return;
34
27
  }
35
28
  tracker_1.default.send(__assign({ kind: 'stability', type: 'error', title: 'jsError', message: e.message, filename: e.filename, position: e.lineno + ":" + e.colno, reason: e.error.stack }, data
@@ -31,9 +31,7 @@ function injectXHR(data) {
31
31
  var handler = function (type) { return function (event) {
32
32
  if (_this.logData.url.indexOf('app/collect/original/info/report/v2') > -1)
33
33
  return;
34
- // status = 0 是在跨域与404的情况下
35
- // 当前都是在readyState为4(请求已完成)的情况下,进行处理
36
- if (type !== 'error' || _this.status === 0)
34
+ if (type !== 'error')
37
35
  return;
38
36
  var duration = Date.now() - startTime_1;
39
37
  var status = _this.status;
@@ -13,40 +13,18 @@ var __assign = (this && this.__assign) || function () {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  var uuidv4 = require('uuid').v4;
15
15
  // const Parser = require('ua-parser-js');
16
- var reg = /((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/g;
17
16
  var SendTracker = /** @class */ (function () {
18
17
  function SendTracker() {
19
18
  this.url = '';
20
19
  }
21
- SendTracker.prototype.verifyRequest = function (reason) {
22
- if (!reason)
23
- return false;
24
- if (reg.test(reason))
25
- return false;
26
- if (reason.startsWith('halomoto'))
27
- return false;
28
- if (reason.startsWith('file:'))
29
- return false;
30
- if (reason.includes('log-center.58moto.com'))
31
- return false;
32
- if (reason.includes('s23.cnzz.com'))
33
- return false;
34
- if (reason.includes('g.alicdn.com'))
35
- return false;
36
- if (reason.includes('vendors'))
37
- return false;
38
- return true;
39
- };
40
20
  SendTracker.prototype.send = function (data) {
41
21
  if (data === void 0) { data = {}; }
42
22
  var host = window.location.host;
43
23
  if (host.indexOf('localhost') > -1)
44
24
  return;
25
+ var reg = /((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/g;
45
26
  if (reg.test(host))
46
27
  return;
47
- if (!this.verifyRequest(data.reason))
48
- return;
49
- data.reason = window.location.href + ' ' + data.reason;
50
28
  var log = __assign(__assign({}, getExtraData()), data);
51
29
  var formBody = [];
52
30
  for (var property in log) {
@@ -4,6 +4,7 @@
4
4
  * @createBy: @2020.05.26
5
5
  */
6
6
  'use strict';
7
+ Object.defineProperty(exports, "__esModule", { value: true });
7
8
  var NumberClass = /** @class */ (function () {
8
9
  function NumberClass() {
9
10
  }
@@ -99,4 +100,4 @@ var NumberClass = /** @class */ (function () {
99
100
  };
100
101
  return NumberClass;
101
102
  }());
102
- module.exports = new NumberClass();
103
+ exports.default = new NumberClass();
@@ -11,7 +11,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
11
11
  return (mod && mod.__esModule) ? mod : { "default": mod };
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- var browser_1 = __importDefault(require("@sentry/browser"));
14
+ var raven_js_1 = __importDefault(require("raven-js"));
15
+ // import RavenVue from 'raven-js/plugins/vue';
15
16
  var Report = /** @class */ (function () {
16
17
  function Report(Vue, options) {
17
18
  if (options === void 0) { options = {}; }
@@ -35,9 +36,9 @@ var Report = /** @class */ (function () {
35
36
  // }).addPlugin(RavenVue, this.Vue).install();
36
37
  // raven内置了vue插件,会通过vue.config.errorHandler来捕获vue组件内错误并上报sentry服务
37
38
  // 记录用户信息
38
- browser_1.default.setUser({ user: this.options.user || '' });
39
+ raven_js_1.default.setUserContext({ user: this.options.user || '' });
39
40
  // 设置全局tag标签
40
- browser_1.default.setTag('environment', this.options.env || '');
41
+ raven_js_1.default.setTagsContext({ environment: this.options.env || '' });
41
42
  }
42
43
  };
43
44
  /**
@@ -51,20 +52,22 @@ var Report = /** @class */ (function () {
51
52
  if (type === void 0) { type = 'error'; }
52
53
  if (options === void 0) { options = {}; }
53
54
  // 添加面包屑
54
- browser_1.default.addBreadcrumb({
55
+ raven_js_1.default.captureBreadcrumb({
55
56
  message: data,
56
57
  category: 'manual message',
57
58
  });
58
59
  // 异常上报
59
60
  if (data instanceof Error) {
60
- browser_1.default.captureException(data, {
61
+ raven_js_1.default.captureException(data, {
61
62
  level: type,
63
+ logger: 'manual exception',
62
64
  tags: { options: options },
63
65
  });
64
66
  }
65
67
  else {
66
- browser_1.default.captureException('error', {
68
+ raven_js_1.default.captureException('error', {
67
69
  level: type,
70
+ logger: 'manual data',
68
71
  extra: {
69
72
  data: data,
70
73
  options: this.options,
@@ -390,4 +390,4 @@ var ToolsClass = /** @class */ (function () {
390
390
  };
391
391
  return ToolsClass;
392
392
  }());
393
- module.exports = new ToolsClass();
393
+ exports.default = new ToolsClass();