almighty-tool 0.0.1

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 (115) hide show
  1. package/.babelrc +17 -0
  2. package/.editorconfig +13 -0
  3. package/.eslintignore +7 -0
  4. package/.eslintrc.js +5 -0
  5. package/.nvmrc +1 -0
  6. package/.prettierrc.js +1 -0
  7. package/.yarnrc +12 -0
  8. package/CHANGELOG.md +7 -0
  9. package/README.md +11 -0
  10. package/jest.config.js +1 -0
  11. package/lib/api/interfaces/api/base.api.d.ts +48 -0
  12. package/lib/api/interfaces/api/base.api.js +3 -0
  13. package/lib/api/interfaces/api/base.api.js.map +1 -0
  14. package/lib/api/interfaces/models/basic.model.d.ts +4 -0
  15. package/lib/api/interfaces/models/basic.model.js +3 -0
  16. package/lib/api/interfaces/models/basic.model.js.map +1 -0
  17. package/lib/api/interfaces/models/pagination.model.d.ts +26 -0
  18. package/lib/api/interfaces/models/pagination.model.js +3 -0
  19. package/lib/api/interfaces/models/pagination.model.js.map +1 -0
  20. package/lib/api/interfaces/types.d.ts +7 -0
  21. package/lib/api/interfaces/types.js +3 -0
  22. package/lib/api/interfaces/types.js.map +1 -0
  23. package/lib/api/models/basic.model.d.ts +7 -0
  24. package/lib/api/models/basic.model.js +25 -0
  25. package/lib/api/models/basic.model.js.map +1 -0
  26. package/lib/api/models/pagination.model.d.ts +35 -0
  27. package/lib/api/models/pagination.model.js +113 -0
  28. package/lib/api/models/pagination.model.js.map +1 -0
  29. package/lib/common/enum-object.d.ts +48 -0
  30. package/lib/common/enum-object.js +84 -0
  31. package/lib/common/enum-object.js.map +1 -0
  32. package/lib/common/general.d.ts +28 -0
  33. package/lib/common/general.js +173 -0
  34. package/lib/common/general.js.map +1 -0
  35. package/lib/common/validator.d.ts +20 -0
  36. package/lib/common/validator.js +30 -0
  37. package/lib/common/validator.js.map +1 -0
  38. package/lib/dayjs/locales/zh-cn.d.ts +40 -0
  39. package/lib/dayjs/locales/zh-cn.js +73 -0
  40. package/lib/dayjs/locales/zh-cn.js.map +1 -0
  41. package/lib/formats/date.format.d.ts +30 -0
  42. package/lib/formats/date.format.js +78 -0
  43. package/lib/formats/date.format.js.map +1 -0
  44. package/lib/interfaces/common/general.d.ts +186 -0
  45. package/lib/interfaces/common/general.js +28 -0
  46. package/lib/interfaces/common/general.js.map +1 -0
  47. package/lib/interfaces/utils/basic-util.d.ts +22 -0
  48. package/lib/interfaces/utils/basic-util.js +3 -0
  49. package/lib/interfaces/utils/basic-util.js.map +1 -0
  50. package/lib/interfaces/utils/date-util.d.ts +12 -0
  51. package/lib/interfaces/utils/date-util.js +3 -0
  52. package/lib/interfaces/utils/date-util.js.map +1 -0
  53. package/lib/interfaces/utils/format-util.d.ts +7 -0
  54. package/lib/interfaces/utils/format-util.js +3 -0
  55. package/lib/interfaces/utils/format-util.js.map +1 -0
  56. package/lib/locales/en/index.d.ts +19 -0
  57. package/lib/locales/en/index.js +21 -0
  58. package/lib/locales/en/index.js.map +1 -0
  59. package/lib/locales/index.d.ts +0 -0
  60. package/lib/locales/index.js +2 -0
  61. package/lib/locales/index.js.map +1 -0
  62. package/lib/locales/zh-cn/index.d.ts +33 -0
  63. package/lib/locales/zh-cn/index.js +35 -0
  64. package/lib/locales/zh-cn/index.js.map +1 -0
  65. package/lib/utils/accurate.util.d.ts +28 -0
  66. package/lib/utils/accurate.util.js +123 -0
  67. package/lib/utils/accurate.util.js.map +1 -0
  68. package/lib/utils/basic.util.d.ts +83 -0
  69. package/lib/utils/basic.util.js +286 -0
  70. package/lib/utils/basic.util.js.map +1 -0
  71. package/lib/utils/crypto.util.d.ts +65 -0
  72. package/lib/utils/crypto.util.js +151 -0
  73. package/lib/utils/crypto.util.js.map +1 -0
  74. package/lib/utils/date.util.d.ts +52 -0
  75. package/lib/utils/date.util.js +211 -0
  76. package/lib/utils/date.util.js.map +1 -0
  77. package/lib/utils/format.util.d.ts +49 -0
  78. package/lib/utils/format.util.js +98 -0
  79. package/lib/utils/format.util.js.map +1 -0
  80. package/lib/utils/locale.util.d.ts +20 -0
  81. package/lib/utils/locale.util.js +206 -0
  82. package/lib/utils/locale.util.js.map +1 -0
  83. package/lib/utils/number.util.d.ts +21 -0
  84. package/lib/utils/number.util.js +33 -0
  85. package/lib/utils/number.util.js.map +1 -0
  86. package/package.json +102 -0
  87. package/templates/eslints/eggjs.project.js +15 -0
  88. package/templates/eslints/element-ui.project.js +4 -0
  89. package/templates/eslints/recommended.js +26 -0
  90. package/templates/eslints/rules/recommended.js +26 -0
  91. package/templates/eslints/rules/vue.js +12 -0
  92. package/templates/eslints/server.project.js +18 -0
  93. package/templates/eslints/uni-app-v8.project.js +43 -0
  94. package/templates/eslints/uni-app.project.js +45 -0
  95. package/templates/eslints/vue.project.js +39 -0
  96. package/templates/jest/element-ui.project.js +1 -0
  97. package/templates/jest/recommended.js +19 -0
  98. package/templates/jest/vue.project.js +44 -0
  99. package/templates/postcss/recommended.js +4 -0
  100. package/templates/postcss/uni-app.js +11 -0
  101. package/templates/prettiers/recommended.js +26 -0
  102. package/templates/stylelint/recommended.js +42 -0
  103. package/templates/stylelint/rules/recommended.js +22 -0
  104. package/templates/stylelint/uni-app.project.js +11 -0
  105. package/templates/tsconfigs/eggjs.json +31 -0
  106. package/templates/tsconfigs/element-ui.json +3 -0
  107. package/templates/tsconfigs/lib.json +15 -0
  108. package/templates/tsconfigs/quasar.json +25 -0
  109. package/templates/tsconfigs/recommended.json +43 -0
  110. package/templates/tsconfigs/server.json +23 -0
  111. package/templates/tsconfigs/uni-app.json +39 -0
  112. package/templates/tsconfigs/vue.json +45 -0
  113. package/templates/tslints/recommended.json +13 -0
  114. package/tsconfig.json +9 -0
  115. package/types/index.d.ts +0 -0
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ /* eslint-disable @typescript-eslint/no-var-requires */
5
+ var lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
6
+ var crypto_util_1 = (0, tslib_1.__importDefault)(require("../utils/crypto.util"));
7
+ var DEFAULT_KEY = '__ALMIGHTY_TOOL_DEFAULT__';
8
+ var RANDOM_CHARS = {
9
+ /** 全字符 */
10
+ full: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRST'.split(''),
11
+ /** 小写 + 数字 */
12
+ downcase: '0123456789abcdefghijklmnopqrstuvwxyz'.split(''),
13
+ /** 小写字母 */
14
+ lower: 'abcdefghijklmnopqrstuvwxyz'.split(''),
15
+ /** 简单没有0 */
16
+ simple: '13456789abcdefghijklmnopqrstuvwxy'.split(''),
17
+ /** 数值 */
18
+ number: '0123456789'.split(''),
19
+ };
20
+ exports.default = {
21
+ /** 获取全局 */
22
+ getGlobal: function () {
23
+ if (typeof window !== 'undefined') {
24
+ return window;
25
+ }
26
+ return global;
27
+ },
28
+ /** 设置默认值 */
29
+ setDefault: function (key, value) {
30
+ var g = this.getGlobal();
31
+ var PRE_DEFAULT = Reflect.get(g, DEFAULT_KEY);
32
+ var DEFAULT = PRE_DEFAULT || {};
33
+ if (!PRE_DEFAULT) {
34
+ Reflect.set(g, DEFAULT_KEY, DEFAULT);
35
+ }
36
+ Reflect.set(DEFAULT, key, value);
37
+ },
38
+ /** 获取默认值 */
39
+ getDefault: function (key) {
40
+ var _a;
41
+ var g = this.getGlobal();
42
+ var PRE_DEFAULT = Reflect.get(g, DEFAULT_KEY);
43
+ var DEFAULT = PRE_DEFAULT || {};
44
+ if (!PRE_DEFAULT) {
45
+ Reflect.set(g, DEFAULT_KEY, DEFAULT);
46
+ }
47
+ return (_a = Reflect.get(DEFAULT, key)) !== null && _a !== void 0 ? _a : null;
48
+ },
49
+ /** 获取有效值 */
50
+ getValidValue: function (inputValue, minValue, maxValue) {
51
+ if (inputValue < minValue) {
52
+ return minValue;
53
+ }
54
+ if (inputValue > maxValue) {
55
+ return maxValue;
56
+ }
57
+ return inputValue;
58
+ },
59
+ /** 获取md5 */
60
+ md5: function (value) {
61
+ return crypto_util_1.default.md5(value.toString());
62
+ },
63
+ /** 生成安全的随机字符串 */
64
+ generateSecureRandom: function (bytes) {
65
+ if (bytes === void 0) { bytes = 16; }
66
+ return crypto_util_1.default.generateRandomBytes(bytes).toString();
67
+ },
68
+ /** 获取时间的字符串 */
69
+ getUtcTimeString: function (dateTime) {
70
+ if (dateTime === void 0) { dateTime = null; }
71
+ var time = dateTime || new Date();
72
+ return [
73
+ time.getUTCFullYear(),
74
+ lodash_1.default.padStart(String(time.getUTCMonth() + 1), 2, '0'),
75
+ lodash_1.default.padStart(String(time.getUTCDate()), 2, '0'),
76
+ lodash_1.default.padStart(String(time.getUTCHours()), 2, '0'),
77
+ lodash_1.default.padStart(String(time.getUTCMinutes()), 2, '0'),
78
+ lodash_1.default.padStart(String(time.getUTCSeconds()), 2, '0'),
79
+ lodash_1.default.padStart(String(time.getUTCMilliseconds()), 3, '0'),
80
+ ].join('');
81
+ },
82
+ /** 生成随机的字符串 */
83
+ generateRandomString: function (options) {
84
+ if (options === void 0) { options = {}; }
85
+ var length = options.length || 32;
86
+ var characters = options.characters || RANDOM_CHARS[options.group || 'downcase'];
87
+ var values = [];
88
+ switch (options.timeType) {
89
+ case 'date':
90
+ values.push(this.getUtcTimeString(new Date()));
91
+ break;
92
+ case 'number':
93
+ values.push(new Date().valueOf().toString(10));
94
+ break;
95
+ case 'char':
96
+ values.push(new Date().valueOf().toString(36));
97
+ break;
98
+ default:
99
+ break;
100
+ }
101
+ var randomLength = values[0] ? length - values[0].length : length;
102
+ for (var index = 0; index < randomLength; index++) {
103
+ var sample = lodash_1.default.sample(characters);
104
+ if (sample) {
105
+ values.push(sample);
106
+ }
107
+ }
108
+ return values.join('');
109
+ },
110
+ /** 生成击穿缓存参数 */
111
+ generateIjt: function () {
112
+ return "".concat(new Date().valueOf());
113
+ },
114
+ /** 缓存抓取 */
115
+ cacheFetch: function (options) {
116
+ if (options === void 0) { options = {}; }
117
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
118
+ var cacheKey, cacheInfo, result;
119
+ return (0, tslib_1.__generator)(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0:
122
+ cacheKey = "almighty-tool.general.cache.".concat(options.cacheKey);
123
+ if (options.cacheable && options.cacher) {
124
+ cacheInfo = options.cacher.getStorageInfo(cacheKey);
125
+ // 没过期 并且 不为空
126
+ if (!cacheInfo.expired && cacheInfo.value !== null) {
127
+ if (typeof options.cached === 'function') {
128
+ options.cached(cacheInfo.value);
129
+ }
130
+ }
131
+ }
132
+ if (!(typeof options.fetchFn === 'function')) return [3 /*break*/, 2];
133
+ return [4 /*yield*/, options.fetchFn()];
134
+ case 1:
135
+ result = (_a.sent());
136
+ if (result.errMsg && result.errMsg.endsWith(':ok')) {
137
+ if (options.cacheable && options.cacher) {
138
+ options.cacher.setStorage(cacheKey, result, options.cacheOptions || {
139
+ expiresIn: -1,
140
+ });
141
+ }
142
+ }
143
+ return [2 /*return*/, result];
144
+ case 2: return [2 /*return*/, null];
145
+ }
146
+ });
147
+ });
148
+ },
149
+ /** 版本比较 */
150
+ compareVersion: function (v01, v02) {
151
+ var v1 = v01.split('.');
152
+ var v2 = v02.split('.');
153
+ var len = Math.max(v1.length, v2.length);
154
+ while (v1.length < len) {
155
+ v1.push('0');
156
+ }
157
+ while (v2.length < len) {
158
+ v2.push('0');
159
+ }
160
+ for (var i = 0; i < len; i++) {
161
+ var num1 = parseInt(v1[i]);
162
+ var num2 = parseInt(v2[i]);
163
+ if (num1 > num2) {
164
+ return 1;
165
+ }
166
+ else if (num1 < num2) {
167
+ return -1;
168
+ }
169
+ }
170
+ return 0;
171
+ },
172
+ };
173
+ //# sourceMappingURL=general.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/common/general.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { Rules, ValidateOption, Values } from 'async-validator';
2
+ import { GeneralResult } from '../interfaces/common/general';
3
+ export interface IValidateOptions {
4
+ /** 字段的前缀 */
5
+ prefix?: string;
6
+ /** 前置的结果 */
7
+ previousResult?: GeneralResult;
8
+ /** 校验的options */
9
+ options?: ValidateOption;
10
+ }
11
+ declare const _default: {
12
+ /**
13
+ *
14
+ * @param rules 规则
15
+ * @param source 校验的源
16
+ * @param options 校验选项
17
+ */
18
+ validate(rules: Rules, source: Values, options?: IValidateOptions): GeneralResult;
19
+ };
20
+ export default _default;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ /* eslint-disable */
5
+ var async_validator_1 = (0, tslib_1.__importDefault)(require("async-validator"));
6
+ var general_1 = require("../interfaces/common/general");
7
+ exports.default = {
8
+ /**
9
+ *
10
+ * @param rules 规则
11
+ * @param source 校验的源
12
+ * @param options 校验选项
13
+ */
14
+ validate: function (rules, source, options) {
15
+ if (options === void 0) { options = {}; }
16
+ var generalResult = options.previousResult || new general_1.GeneralResult();
17
+ var schema = new async_validator_1.default(rules);
18
+ schema.validate(source, options.options || {}, function (errors) {
19
+ (errors || []).forEach(function (error) {
20
+ generalResult.pushError({
21
+ path: "".concat(options.prefix ? "".concat(options.prefix, ".") : '').concat(error.field),
22
+ message: error.message || '',
23
+ info: 'validate.fail',
24
+ });
25
+ });
26
+ });
27
+ return generalResult;
28
+ },
29
+ };
30
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/common/validator.ts"],"names":[],"mappings":";;;AAAA,oBAAoB;AACpB,iFAAuF;AACvF,wDAA6D;AAW7D,kBAAe;IACb;;;;;OAKG;IACH,QAAQ,EAAR,UAAS,KAAY,EAAE,MAAc,EAAE,OAA8B;QAA9B,wBAAA,EAAA,YAA8B;QACnE,IAAM,aAAa,GAAkB,OAAO,CAAC,cAAc,IAAI,IAAI,uBAAa,EAAE,CAAC;QACnF,IAAM,MAAM,GAAG,IAAI,yBAAM,CAAC,KAAK,CAAC,CAAC;QAEjC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,UAAC,MAA8B;YAC5E,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,KAAK;gBAC3B,aAAa,CAAC,SAAS,CAAC;oBACtB,IAAI,EAAE,UAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAG,OAAO,CAAC,MAAM,MAAG,CAAC,CAAC,CAAC,EAAE,SAAG,KAAK,CAAC,KAAK,CAAE;oBACnE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;oBAC5B,IAAI,EAAE,eAAe;iBACtB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;CACF,CAAC"}
@@ -0,0 +1,40 @@
1
+ declare const locale: {
2
+ name: string;
3
+ weekdays: string[];
4
+ weekdaysShort: string[];
5
+ weekdaysMin: string[];
6
+ months: string[];
7
+ monthsShort: string[];
8
+ ordinal: (number: number, period: string) => string;
9
+ weekStart: number;
10
+ yearStart: number;
11
+ formats: {
12
+ LT: string;
13
+ LTS: string;
14
+ L: string;
15
+ LL: string;
16
+ LLL: string;
17
+ LLLL: string;
18
+ l: string;
19
+ ll: string;
20
+ lll: string;
21
+ llll: string;
22
+ };
23
+ relativeTime: {
24
+ future: string;
25
+ past: string;
26
+ s: string;
27
+ m: string;
28
+ mm: string;
29
+ h: string;
30
+ hh: string;
31
+ d: string;
32
+ dd: string;
33
+ M: string;
34
+ MM: string;
35
+ y: string;
36
+ yy: string;
37
+ };
38
+ meridiem: (hour: number, minute: number) => string;
39
+ };
40
+ export default locale;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ // Chinese (China) [zh-cn]
5
+ var dayjs_1 = (0, tslib_1.__importDefault)(require("dayjs"));
6
+ var locale = {
7
+ name: 'zh-cn',
8
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
9
+ weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
10
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
11
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
12
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
13
+ ordinal: function (number, period) {
14
+ switch (period) {
15
+ case 'W':
16
+ return "".concat(number, "\u5468");
17
+ default:
18
+ return "".concat(number, "\u65E5");
19
+ }
20
+ },
21
+ weekStart: 1,
22
+ yearStart: 4,
23
+ formats: {
24
+ LT: 'HH:mm',
25
+ LTS: 'HH:mm:ss',
26
+ L: 'YYYY/MM/DD',
27
+ LL: 'YYYY年M月D日',
28
+ LLL: 'YYYY年M月D日Ah点mm分',
29
+ LLLL: 'YYYY年M月D日ddddAh点mm分',
30
+ l: 'YYYY/M/D',
31
+ ll: 'YYYY年M月D日',
32
+ lll: 'YYYY年M月D日 HH:mm',
33
+ llll: 'YYYY年M月D日dddd HH:mm',
34
+ },
35
+ relativeTime: {
36
+ future: '%s内',
37
+ past: '%s前',
38
+ s: '几秒',
39
+ m: '1分钟',
40
+ mm: '%d分钟',
41
+ h: '1小时',
42
+ hh: '%d小时',
43
+ d: '1天',
44
+ dd: '%d天',
45
+ M: '1个月',
46
+ MM: '%d个月',
47
+ y: '1年',
48
+ yy: '%d年',
49
+ },
50
+ meridiem: function (hour, minute) {
51
+ var hm = hour * 100 + minute;
52
+ if (hm < 600) {
53
+ return '凌晨';
54
+ }
55
+ else if (hm < 900) {
56
+ return '早上';
57
+ }
58
+ else if (hm < 1100) {
59
+ return '上午';
60
+ }
61
+ else if (hm < 1300) {
62
+ return '中午';
63
+ }
64
+ else if (hm < 1800) {
65
+ return '下午';
66
+ }
67
+ return '晚上';
68
+ },
69
+ };
70
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
+ dayjs_1.default.locale(locale, null, true);
72
+ exports.default = locale;
73
+ //# sourceMappingURL=zh-cn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-cn.js","sourceRoot":"","sources":["../../../src/dayjs/locales/zh-cn.ts"],"names":[],"mappings":";;;AAAA,0BAA0B;AAC1B,6DAA0B;AAE1B,IAAM,MAAM,GAAG;IACb,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC;IAClD,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;IAChD,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC;IACvC,MAAM,EAAE,uCAAuC,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1D,WAAW,EAAE,wCAAwC,CAAC,KAAK,CAAC,GAAG,CAAC;IAChE,OAAO,EAAE,UAAC,MAAc,EAAE,MAAc;QACtC,QAAQ,MAAM,EAAE;YACd,KAAK,GAAG;gBACN,OAAO,UAAG,MAAM,WAAG,CAAC;YACtB;gBACE,OAAO,UAAG,MAAM,WAAG,CAAC;SACvB;IACH,CAAC;IACD,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE;QACP,EAAE,EAAE,OAAO;QACX,GAAG,EAAE,UAAU;QACf,CAAC,EAAE,YAAY;QACf,EAAE,EAAE,WAAW;QACf,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,qBAAqB;QAC3B,CAAC,EAAE,UAAU;QACb,EAAE,EAAE,WAAW;QACf,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,qBAAqB;KAC5B;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,KAAK;QACR,EAAE,EAAE,MAAM;QACV,CAAC,EAAE,KAAK;QACR,EAAE,EAAE,MAAM;QACV,CAAC,EAAE,IAAI;QACP,EAAE,EAAE,KAAK;QACT,CAAC,EAAE,KAAK;QACR,EAAE,EAAE,MAAM;QACV,CAAC,EAAE,IAAI;QACP,EAAE,EAAE,KAAK;KACV;IACD,QAAQ,EAAE,UAAC,IAAY,EAAE,MAAc;QACrC,IAAM,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;QAC/B,IAAI,EAAE,GAAG,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,EAAE,GAAG,GAAG,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,EAAE,GAAG,IAAI,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,EAAE,GAAG,IAAI,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,EAAE,GAAG,IAAI,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,8DAA8D;AAC9D,eAAK,CAAC,MAAM,CAAC,MAAa,EAAE,IAAW,EAAE,IAAI,CAAC,CAAC;AAE/C,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,30 @@
1
+ import 'dayjs/locale/en';
2
+ import '../dayjs/locales/zh-cn';
3
+ export declare type I18nValues = any[] | {
4
+ [key: string]: any;
5
+ };
6
+ export interface IDateFormatI18n {
7
+ t: (key: string, values?: I18nValues) => string;
8
+ }
9
+ export declare type DATE_FORMAT_FORMATTER = 'default' | 'full' | 'long' | 'short' | 'date' | 'time' | 'shortTime' | 'step' | 'shortStep' | 'fromNow' | 'toNow';
10
+ export interface IDateFormatOptions {
11
+ /** 格式模板 */
12
+ template?: string;
13
+ /** 格式化 */
14
+ formatter?: DATE_FORMAT_FORMATTER;
15
+ }
16
+ /** 日期格式化工具 */
17
+ declare const dateFormat: {
18
+ /**
19
+ * 对日期对象进行格式化
20
+ *
21
+ * - date 日期对象或者日期字符串
22
+ * - options 格式化选项
23
+ */
24
+ format: (date: Date | string | null, options?: IDateFormatOptions) => string;
25
+ /** 获取格式化模板 */
26
+ getFormatTemplate(formatter?: DATE_FORMAT_FORMATTER): string;
27
+ /** 设置默认的i18n对象 */
28
+ setDefaultI18n: (i18n: IDateFormatI18n | null) => void;
29
+ };
30
+ export default dateFormat;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var dayjs_1 = (0, tslib_1.__importDefault)(require("dayjs"));
5
+ require("dayjs/locale/en");
6
+ require("../dayjs/locales/zh-cn");
7
+ var relativeTime_1 = (0, tslib_1.__importDefault)(require("dayjs/plugin/relativeTime"));
8
+ var lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
9
+ var zh_cn_1 = (0, tslib_1.__importDefault)(require("../locales/zh-cn"));
10
+ var general_1 = (0, tslib_1.__importDefault)(require("../common/general"));
11
+ var DEFAULT_I18N_KEY = 'almighty-tool/formats/date-format#i18n';
12
+ var i18n = {
13
+ t: function (key, _values) {
14
+ return lodash_1.default.get(zh_cn_1.default, key);
15
+ },
16
+ };
17
+ /** 日期格式化工具 */
18
+ var dateFormat = {
19
+ /**
20
+ * 对日期对象进行格式化
21
+ *
22
+ * - date 日期对象或者日期字符串
23
+ * - options 格式化选项
24
+ */
25
+ format: function (date, options) {
26
+ var _a;
27
+ if (options === void 0) { options = {}; }
28
+ if (date) {
29
+ var _i18n = general_1.default.getDefault(DEFAULT_I18N_KEY) || i18n;
30
+ var locale = _i18n.t('TuituiLib.DateFormat.locale').toString();
31
+ var template = (_a = options.template) !== null && _a !== void 0 ? _a : dateFormat.getFormatTemplate(options.formatter);
32
+ var day = (0, dayjs_1.default)(date);
33
+ var now = (0, dayjs_1.default)();
34
+ switch (options.formatter) {
35
+ case 'step':
36
+ case 'shortStep':
37
+ if (now.startOf('day').diff(day) <= 0 && now.add(1, 'day').startOf('day').diff(day) > 0) {
38
+ /** 今天 */
39
+ return day.locale(locale).format(_i18n.t("TuituiLib.DateFormat.".concat(options.formatter, ".today")).toString());
40
+ }
41
+ else if (now.add(1, 'day').startOf('day').diff(day) <= 0 && now.add(2, 'day').startOf('day').diff(day) > 0) {
42
+ /** 明天 */
43
+ return day.locale(locale).format(_i18n.t("TuituiLib.DateFormat.".concat(options.formatter, ".tomorrow")).toString());
44
+ }
45
+ else if (now.subtract(1, 'day').startOf('day').diff(day) <= 0 && now.startOf('day').diff(day) > 0) {
46
+ /** 昨天 */
47
+ return day.locale(locale).format(_i18n.t("TuituiLib.DateFormat.".concat(options.formatter, ".yesterday")).toString());
48
+ }
49
+ else if (now.startOf('year').diff(day) <= 0 && now.add(1, 'year').startOf('year').diff(day) > 0) {
50
+ /** 今年 */
51
+ return day.locale(locale).format(_i18n.t("TuituiLib.DateFormat.".concat(options.formatter, ".thisYear")).toString());
52
+ }
53
+ return day.locale(locale).format(_i18n.t("TuituiLib.DateFormat.".concat(options.formatter, ".longAgo")).toString());
54
+ case 'fromNow':
55
+ dayjs_1.default.extend(relativeTime_1.default);
56
+ return day.locale(locale).fromNow();
57
+ case 'toNow':
58
+ dayjs_1.default.extend(relativeTime_1.default);
59
+ return day.locale(locale).toNow();
60
+ default:
61
+ return day.locale(locale).format(template);
62
+ }
63
+ }
64
+ return '';
65
+ },
66
+ /** 获取格式化模板 */
67
+ getFormatTemplate: function (formatter) {
68
+ if (formatter === void 0) { formatter = 'default'; }
69
+ var _i18n = general_1.default.getDefault(DEFAULT_I18N_KEY) || i18n;
70
+ return _i18n.t("TuituiLib.DateFormat.formats.".concat(formatter));
71
+ },
72
+ /** 设置默认的i18n对象 */
73
+ setDefaultI18n: function (i18n) {
74
+ general_1.default.setDefault(DEFAULT_I18N_KEY, i18n);
75
+ },
76
+ };
77
+ exports.default = dateFormat;
78
+ //# sourceMappingURL=date.format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.format.js","sourceRoot":"","sources":["../../src/formats/date.format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ export declare type CSS_STYLE_TYPE = string | number | boolean | null;
2
+ export interface ICssStyle {
3
+ [propName: string]: CSS_STYLE_TYPE;
4
+ }
5
+ export declare type LOADMORE_STATUS = 'loading' | 'more' | 'noMore' | 'empty' | 'fail';
6
+ export interface ILoadPaginateOptions {
7
+ /**
8
+ * 当前页数
9
+ */
10
+ page: number | 1;
11
+ /**
12
+ * 每页返回条数
13
+ */
14
+ pageSize?: number | 20;
15
+ }
16
+ export interface ILoadSliceOptions {
17
+ /**
18
+ * 偏移方式
19
+ *
20
+ * None: 不移动
21
+ * Next: 向下翻页
22
+ * Back: 向上翻页
23
+ */
24
+ move: 'None' | 'Next' | 'Back';
25
+ /**
26
+ * 开始值
27
+ */
28
+ start: string;
29
+ /**
30
+ * 每页条数
31
+ */
32
+ size: number;
33
+ }
34
+ export declare type IPageParamsValueType = string | string[] | null | IPageParams | IPageParams[] | undefined;
35
+ export interface IPageParams extends Record<string, IPageParamsValueType> {
36
+ [propName: string]: IPageParamsValueType;
37
+ }
38
+ /** 基本错误 */
39
+ export interface IGeneralError {
40
+ /** 字段 */
41
+ path: string;
42
+ /** 消息: 可作为i18n的消息 */
43
+ message: string;
44
+ /** 逻辑: 可用来做业务逻辑判断 */
45
+ info: string;
46
+ }
47
+ /** 基本响应结果 */
48
+ export interface IGeneralResult {
49
+ /** 对应的请求的name参数 */
50
+ name?: string;
51
+ /** 对应的请求的mark参数 */
52
+ mark?: string;
53
+ /** 状态 */
54
+ errMsg?: string;
55
+ /** 请求失败的结果 */
56
+ errInfo?: string;
57
+ /** 请求的参数 */
58
+ options?: IGeneralOptions;
59
+ /** 错误 */
60
+ errors: IGeneralError[];
61
+ }
62
+ export interface IGeneralSetStorageOptions {
63
+ /** 是否覆盖过期时间?: 默认按照true来处理 */
64
+ expiresInOverwrite?: boolean;
65
+ /** 过期时间 */
66
+ expiresIn?: number;
67
+ }
68
+ export interface IGeneralStorageInfo {
69
+ expired: boolean;
70
+ expiredAt: number;
71
+ expiredIn: number;
72
+ value: any;
73
+ }
74
+ /** 通用缓存器 */
75
+ export interface IGeneralCacher {
76
+ /** 移除存储 */
77
+ removeStorage(usage: string): any;
78
+ /** 获取存储信息 */
79
+ getStorageInfo(usage: string): IGeneralStorageInfo;
80
+ /** 获取存储 */
81
+ getStorage(usage: string): any;
82
+ /** 设置存储 */
83
+ setStorage(usage: string, value: any, options?: IGeneralSetStorageOptions): void;
84
+ }
85
+ export interface IGeneralOptionsWithT<T> extends IGeneralOptions {
86
+ /** 被缓存后调用该方法 */
87
+ cached?: (res: T) => void;
88
+ /** 抓取方法 */
89
+ fetchFn?: () => Promise<T>;
90
+ }
91
+ /** 基本请求参数 */
92
+ export interface IGeneralOptions {
93
+ /** 是否开启缓存: 默认为false */
94
+ cacheable?: boolean;
95
+ /** 缓存器 */
96
+ cacher?: IGeneralCacher;
97
+ /** 缓存key */
98
+ cacheKey?: string;
99
+ /** 缓存的选项 */
100
+ cacheOptions?: IGeneralSetStorageOptions;
101
+ /** 缓存命中则放弃真实请求 */
102
+ cachedCancel?: boolean;
103
+ /** 请求的命名: 会回传给对应的result */
104
+ name?: string;
105
+ /** 是否打印错误异常 */
106
+ printError?: boolean;
107
+ /** 是否打印日志 */
108
+ printLog?: boolean;
109
+ /** 请求的标识: 会回传给对应的result */
110
+ mark?: string;
111
+ /** 用户传来的请求 */
112
+ options?: IGeneralOptions;
113
+ /** 校验方法 */
114
+ validate?(options: IGeneralOptions): GeneralResult;
115
+ /** 发送请求前 */
116
+ beforeRequest?(): void;
117
+ /** 发送请求后 */
118
+ afterRequest?(): void;
119
+ /** 前置过滤 */
120
+ beforeFilter?(options?: IGeneralOptions): boolean;
121
+ /** 语言 */
122
+ locale?: string;
123
+ /** 是否跳过校验 */
124
+ skipValidate?: boolean;
125
+ /** 是否穿透缓存 */
126
+ ijt?: boolean;
127
+ /** 超时时间 */
128
+ timeout?: number;
129
+ /** 资源url */
130
+ url?: string;
131
+ /** 基础URL */
132
+ baseUrl?: string;
133
+ /** 请求的参数: 是作为请求主体被发送的数据 */
134
+ data?: any;
135
+ /** 请求的参数: 是即将与请求一起发送的 URL 参数 */
136
+ params?: Record<string, any>;
137
+ /** params参数的数据格式 */
138
+ paramsArrayFormat?: 'brackets' | 'indices' | 'repeat';
139
+ /** 固定的请求参数 */
140
+ fixedParams?: Record<string, any>;
141
+ /** 忽略的请求参数 */
142
+ omitParamKeys?: string[];
143
+ /** 设置请求的 header,header 中不能设置 Referer。 */
144
+ header?: Record<string, any>;
145
+ /** 如果设为json,会尝试对返回的数据做一次 JSON.parse */
146
+ dataType?: 'json' | 'form-data' | 'form-urlencoded' | null;
147
+ /** 设置响应的数据类型。合法值:text、arraybuffer */
148
+ responseType?: string;
149
+ /** 跨域请求时是否携带凭证 */
150
+ withCredentials?: boolean;
151
+ /** 定义在 node.js 中 follow 的最大重定向数目;默认: 5 */
152
+ maxRedirects?: number;
153
+ }
154
+ export declare type RANDOM_CHARS_GROUP_KEY = 'full' | 'downcase' | 'lower' | 'simple' | 'number';
155
+ export interface IGenerateRandomStringParams {
156
+ /** 默认32 */
157
+ length?: number;
158
+ /** 可用的字符串 */
159
+ characters?: string[];
160
+ /** 分组 */
161
+ group?: RANDOM_CHARS_GROUP_KEY;
162
+ /** time类型 */
163
+ timeType?: 'date' | 'number' | 'char' | 'none';
164
+ }
165
+ export declare class GeneralError implements IGeneralError {
166
+ constructor(error?: IGeneralError);
167
+ /** 路径 */
168
+ path: string;
169
+ /** 错误信息 */
170
+ message: string;
171
+ /** 错误逻辑 */
172
+ info: string;
173
+ }
174
+ export declare class GeneralResult implements IGeneralResult {
175
+ constructor(options?: IGeneralOptions);
176
+ /** 状态 */
177
+ errMsg?: string;
178
+ /** 请求失败的结果 */
179
+ errInfo?: string;
180
+ /** 请求的参数 */
181
+ options: IGeneralOptions;
182
+ /** 错误 */
183
+ errors: GeneralError[];
184
+ /** 增加错误 */
185
+ pushError(error: IGeneralError): void;
186
+ }