zzz-pc-view 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 (71) hide show
  1. package/package.json +29 -0
  2. package/src/api/org/list +96 -0
  3. package/src/api/org/type/list +18 -0
  4. package/src/api/own +3831 -0
  5. package/src/decorators/CurdKey/CurdApi.d.ts +221 -0
  6. package/src/decorators/CurdKey/RequestUtil.d.ts +55 -0
  7. package/src/decorators/CurdKey/index.d.ts +752 -0
  8. package/src/decorators/DeclareType.d.ts +35 -0
  9. package/src/decorators/Decorators.d.ts +5 -0
  10. package/src/decorators/FilterKey/index.d.ts +283 -0
  11. package/src/decorators/Loader/index.d.ts +179 -0
  12. package/src/decorators/NameKey/index.d.ts +68 -0
  13. package/src/decorators/PrimaryKey/index.d.ts +68 -0
  14. package/src/decorators/api.d.ts +21 -0
  15. package/src/decorators/decoratorStoreUtil.d.ts +68 -0
  16. package/src/decorators/index.d.ts +6 -0
  17. package/src/decorators/loadStore.d.ts +6 -0
  18. package/src/decorators/loadUtil.d.ts +25 -0
  19. package/src/decorators/util.d.ts +27 -0
  20. package/src/favicon.ico +0 -0
  21. package/src/index-decorators.d.ts +3 -0
  22. package/src/index.d.ts +10 -0
  23. package/src/index.es.js +10035 -0
  24. package/src/index.umd.js +2 -0
  25. package/src/pcViews/components/curd/CurdTableView.vue.d.ts +18 -0
  26. package/src/pcViews/components/curd/CurdView.vue.d.ts +22 -0
  27. package/src/pcViews/components/curd/CurdViewHandler.d.ts +1208 -0
  28. package/src/pcViews/components/curd/FilterView.vue.d.ts +19 -0
  29. package/src/pcViews/components/curd/FilterViewHandler.d.ts +6 -0
  30. package/src/pcViews/components/curd/index.d.ts +2 -0
  31. package/src/pcViews/components/forms/RadioButtonGroupView.vue.d.ts +19 -0
  32. package/src/pcViews/components/forms/SelectView.vue.d.ts +19 -0
  33. package/src/pcViews/components/forms/VModelView.vue.d.ts +20 -0
  34. package/src/pcViews/components/forms/index.d.ts +3 -0
  35. package/src/pcViews/components/index.d.ts +5 -0
  36. package/src/pcViews/components/layout/DataWrapperView.vue.d.ts +23 -0
  37. package/src/pcViews/components/layout/LayoutHeader.vue.d.ts +2 -0
  38. package/src/pcViews/components/layout/LayoutMainView.vue.d.ts +2 -0
  39. package/src/pcViews/components/layout/index.d.ts +2 -0
  40. package/src/pcViews/components/slots/VSlotView.vue.d.ts +20 -0
  41. package/src/pcViews/components/slots/index.d.ts +1 -0
  42. package/src/pcViews/components/utils.d.ts +33 -0
  43. package/src/pcViews/index.d.ts +1 -0
  44. package/src/utils/Date/ZDate.d.ts +557 -0
  45. package/src/utils/DeclareType.d.ts +39 -0
  46. package/src/utils/class/bind.d.ts +43 -0
  47. package/src/utils/class/combine.d.ts +109 -0
  48. package/src/utils/crypto/index.d.ts +44 -0
  49. package/src/utils/empty/index.d.ts +18 -0
  50. package/src/utils/httpRequest/HttpRequestError.d.ts +14 -0
  51. package/src/utils/httpRequest/httpRequestCreator.d.ts +61 -0
  52. package/src/utils/httpRequest/httpRequestUtil.d.ts +24 -0
  53. package/src/utils/httpRequest/index.d.ts +3 -0
  54. package/src/utils/index.d.ts +11 -0
  55. package/src/utils/math/toFixed.d.ts +11 -0
  56. package/src/utils/math/unitConvertor.d.ts +34 -0
  57. package/src/utils/mock/HttpResponse.d.ts +30 -0
  58. package/src/utils/mock/createDataTimes.d.ts +20 -0
  59. package/src/utils/mock/index.d.ts +2 -0
  60. package/src/utils/reduce/completeByDate.d.ts +51 -0
  61. package/src/utils/reduce/index.d.ts +9 -0
  62. package/src/utils/reduce/mappingBuilder.d.ts +69 -0
  63. package/src/utils/reduce/ratio.d.ts +104 -0
  64. package/src/utils/reduce/sort.d.ts +12 -0
  65. package/src/utils/reduce/sumByGroup.d.ts +53 -0
  66. package/src/utils/reduce/toGroup.d.ts +79 -0
  67. package/src/utils/reduce/tree.d.ts +570 -0
  68. package/src/utils/reduce/util.d.ts +14 -0
  69. package/src/utils/reduce/valueConvertor.d.ts +65 -0
  70. package/src/utils/reduce/verticalToHorizontal.d.ts +80 -0
  71. package/src/zzz-frame.css +7 -0
@@ -0,0 +1,557 @@
1
+ import { WithoutFirst, WithoutFirstParams } from '../DeclareType';
2
+ /**
3
+ * 表示最小毫秒数的类型,可能为空字符串或'.000'。
4
+ */
5
+ type MinMsType = '.000' | '';
6
+ /**
7
+ * 表示最大毫秒数的类型,可能为空字符串或'.999'。
8
+ */
9
+ type MaxMsType = '.999' | '';
10
+ /**
11
+ * 表示是否为 UTC 时间的字符串类型,可能为 'UTC' 或空字符串。
12
+ */
13
+ type UTCStr = 'UTC' | '';
14
+ /**
15
+ * 定义一个类型别名 `WeekDays`,表示一周中的每一天。
16
+ * 该类型是一个联合类型,包含从 0 到 6 的数字,分别对应星期日到星期六。
17
+ */
18
+ type WeekDays = 0 | 1 | 2 | 3 | 4 | 5 | 6;
19
+ /**
20
+ * 获取指定日期所在周的第一天。
21
+ *
22
+ * @param {ZDate} date - 目标日期对象。
23
+ * @param {boolean} isUTC - 是否使用UTC时间。
24
+ * @param {WeekDays} fromDay - 周的起始日,默认为星期日(0)。
25
+ * @param {0 | 1} firstWeekDiff - 用于调整第一周的差异,默认为0。
26
+ * @returns {ZDate} - 返回指定日期所在周的第一天的日期对象。
27
+ */
28
+ declare const getWeekFirstDate: (date: ZDate, isUTC: boolean, fromDay?: WeekDays, firstWeekDiff?: 0 | 1) => ZDate;
29
+ /**
30
+ * 定义一个类型别名 `WeekParams`,它是从 `getWeekFirstDate` 函数的参数中提取出来的。
31
+ * `WithoutFirst` 是一个工具类型,用于从一个元组类型中移除第一个元素。
32
+ * 因此,`WeekParams` 类型将包含 `getWeekFirstDate` 函数除了第一个参数(即 `date`)之外的所有参数。
33
+ */
34
+ export type WeekParams = WithoutFirst<WithoutFirstParams<typeof getWeekFirstDate>>;
35
+ /**
36
+ * 日期格式化工具数组,包含不同日期单位的格式化配置
37
+ */
38
+ declare const formatUtils: readonly [{
39
+ readonly dateUnit: "FullYear";
40
+ readonly formatChar: "Y";
41
+ readonly formatRegExp: RegExp;
42
+ readonly formatDiff: 0;
43
+ /**
44
+ * 根据指定的格式字符串和日期对象生成格式化的日期字符串。
45
+ *
46
+ * @param {string} format - 格式化字符串,例如 'YYYY/MM/DD HH:mm:ss'。
47
+ * @param {ZDate} date - 要格式化的日期对象。
48
+ * @param {UTCStr} utcStr - 表示是否为 UTC 时间的字符串,可能为 'UTC' 或空字符串。
49
+ * @returns {string} - 格式化后的日期字符串。
50
+ */
51
+ readonly getFormatStr: (format: string, date: ZDate, utcStr: UTCStr) => string;
52
+ /**
53
+ * 获取指定日期的最小时间格式字符串。
54
+ *
55
+ * @param {MinMsType} msStr - 最小毫秒数的类型,可能为空字符串或'.000'。
56
+ * @returns {string} - 最小时间格式字符串。
57
+ */
58
+ readonly getMinTimeFormat: (msStr: MinMsType) => string;
59
+ /**
60
+ * 获取指定日期的最大时间格式字符串。
61
+ *
62
+ * @param {MaxMsType} msStr - 最大毫秒数的类型,可能为空字符串或'.999'。
63
+ * @returns {string} - 最大时间格式字符串。
64
+ */
65
+ readonly getMaxTimeFormat: (msStr: MaxMsType) => string;
66
+ }, {
67
+ readonly dateUnit: "Quarter";
68
+ readonly formatChar: "Q";
69
+ readonly formatRegExp: RegExp;
70
+ readonly formatDiff: 0;
71
+ /**
72
+ * 根据指定的格式字符串和日期对象生成格式化的日期字符串。
73
+ *
74
+ * @param {string} format - 格式化字符串,例如 'YYYY/MM/DD HH:mm:ss'。
75
+ * @param {ZDate} date - 要格式化的日期对象。
76
+ * @param {UTCStr} utcStr - 表示是否为 UTC 时间的字符串,可能为 'UTC' 或空字符串。
77
+ * @returns {string} - 格式化后的日期字符串。
78
+ */
79
+ readonly getFormatStr: (format: string, date: ZDate, utcStr: UTCStr) => string;
80
+ /**
81
+ * 获取指定日期的最小时间格式字符串。
82
+ *
83
+ * @param {MinMsType} msStr - 最小毫秒数的类型,可能为空字符串或'.000'。
84
+ * @param {ZDate} date - 要格式化的日期对象。
85
+ * @returns {string} - 最小时间格式字符串。
86
+ */
87
+ readonly getMinTimeFormat: (msStr: MinMsType, date: ZDate) => string;
88
+ /**
89
+ * 获取指定日期的最大时间格式字符串。
90
+ *
91
+ * @param {MaxMsType} msStr - 最大毫秒数的类型,可能为空字符串或'.999'。
92
+ * @param {ZDate} date - 要格式化的日期对象。
93
+ * @returns {string} - 最大时间格式字符串。
94
+ */
95
+ readonly getMaxTimeFormat: (msStr: MaxMsType, date: ZDate) => string;
96
+ }, {
97
+ readonly dateUnit: "Month";
98
+ readonly formatChar: "M";
99
+ readonly formatRegExp: RegExp;
100
+ readonly formatDiff: 1;
101
+ /**
102
+ * 根据指定的格式字符串和日期对象生成格式化的日期字符串。
103
+ *
104
+ * @param {string} format - 格式化字符串,例如 'YYYY/MM/DD HH:mm:ss'。
105
+ * @param {ZDate} date - 要格式化的日期对象。
106
+ * @param {UTCStr} utcStr - 表示是否为 UTC 时间的字符串,可能为 'UTC' 或空字符串。
107
+ * @returns {string} - 格式化后的日期字符串。
108
+ */
109
+ readonly getFormatStr: (format: string, date: ZDate, utcStr: UTCStr) => string;
110
+ /**
111
+ * 获取指定日期的最小时间格式字符串。
112
+ *
113
+ * @param {MinMsType} msStr - 最小毫秒数的类型,可能为空字符串或'.000'。
114
+ * @returns {string} - 最小时间格式字符串。
115
+ */
116
+ readonly getMinTimeFormat: (msStr: MinMsType) => string;
117
+ /**
118
+ * 获取指定日期的最大时间格式字符串。
119
+ *
120
+ * @param {MaxMsType} msStr - 最大毫秒数的类型,可能为空字符串或'.999'。
121
+ * @param {ZDate} date - 要格式化的日期对象。
122
+ * @returns {string} - 最大时间格式字符串。
123
+ */
124
+ readonly getMaxTimeFormat: (msStr: MaxMsType, date: ZDate) => string;
125
+ }, {
126
+ readonly dateUnit: "Week";
127
+ readonly formatChar: "W";
128
+ readonly formatRegExp: RegExp;
129
+ readonly formatDiff: 0;
130
+ /**
131
+ * 根据指定的格式字符串、日期对象、是否为UTC时间以及周的起始日和第一周差异生成格式化的日期字符串。
132
+ *
133
+ * @param {string} format - 格式化字符串,例如 'YYYY/MM/DD HH:mm:ss'。
134
+ * @param {ZDate} date - 要格式化的日期对象。
135
+ * @param {UTCStr} utcStr - 表示是否为 UTC 时间的字符串,可能为 'UTC' 或空字符串。
136
+ * @param {WeekDays} fromDay - 周的起始日,默认为0(星期日)。
137
+ * @param {0 | 1} firstWeekDiff - 第一周差异,默认为0。
138
+ * @returns {string} - 格式化后的日期字符串。
139
+ */
140
+ readonly getFormatStr: (format: string, date: ZDate, utcStr: UTCStr, fromDay?: WeekDays, firstWeekDiff?: 0 | 1) => string;
141
+ /**
142
+ * 获取指定日期的最小时间格式字符串。
143
+ *
144
+ * @param {MinMsType} msStr - 最小毫秒数的类型,可能为空字符串或'.000'。
145
+ * @param {ZDate} date - 要格式化的日期对象。
146
+ * @param {...WeekParams} weekParams - 用于计算周数的起始日期的可选参数。
147
+ * @returns {string} - 最小时间格式字符串。
148
+ */
149
+ readonly getMinTimeFormat: (msStr: MinMsType, date: ZDate, fromDay?: WeekDays | undefined, firstWeekDiff?: 0 | 1 | undefined) => string;
150
+ /**
151
+ * 获取指定日期的最大时间格式字符串。
152
+ *
153
+ * @param {MaxMsType} msStr - 最大毫秒数的类型,可能为空字符串或'.999'。
154
+ * @param {ZDate} date - 要格式化的日期对象。
155
+ * @param {...WeekParams} weekParams - 用于计算周数的起始日期的可选参数。
156
+ * @returns {string} - 最大时间格式字符串。
157
+ */
158
+ readonly getMaxTimeFormat: (msStr: MaxMsType, date: ZDate, fromDay?: WeekDays | undefined, firstWeekDiff?: 0 | 1 | undefined) => string;
159
+ }, {
160
+ readonly dateUnit: "Date";
161
+ readonly formatChar: "D";
162
+ readonly formatRegExp: RegExp;
163
+ readonly formatDiff: 0;
164
+ /**
165
+ * 根据指定的格式字符串、日期对象和是否为UTC时间生成格式化的日期字符串。
166
+ *
167
+ * @param {string} format - 格式化字符串,例如 'YYYY/MM/DD HH:mm:ss'。
168
+ * @param {ZDate} date - 要格式化的日期对象。
169
+ * @param {UTCStr} utcStr - 表示是否为 UTC 时间的字符串,可能为 'UTC' 或空字符串。
170
+ * @returns {string} - 格式化后的日期字符串。
171
+ */
172
+ readonly getFormatStr: (format: string, date: ZDate, utcStr: UTCStr) => string;
173
+ /**
174
+ * 获取指定日期的最小时间格式字符串。
175
+ *
176
+ * @param {MinMsType} msStr - 最小毫秒数的类型,可能为空字符串或'.000'。
177
+ * @returns {string} - 最小时间格式字符串。
178
+ */
179
+ readonly getMinTimeFormat: (msStr: MinMsType) => string;
180
+ /**
181
+ * 获取指定日期的最大时间格式字符串。
182
+ *
183
+ * @param {MaxMsType} msStr - 最大毫秒数的类型,可能为空字符串或'.999'。
184
+ * @returns {string} - 最大时间格式字符串。
185
+ */
186
+ readonly getMaxTimeFormat: (msStr: MaxMsType) => string;
187
+ }, {
188
+ readonly dateUnit: "Hours";
189
+ readonly formatChar: "H";
190
+ readonly formatRegExp: RegExp;
191
+ readonly formatDiff: 0;
192
+ /**
193
+ * 根据指定的格式字符串、日期对象和是否为UTC时间生成格式化的日期字符串。
194
+ *
195
+ * @param {string} format - 格式化字符串,例如 'YYYY/MM/DD HH:mm:ss'。
196
+ * @param {ZDate} date - 要格式化的日期对象。
197
+ * @param {UTCStr} utcStr - 表示是否为 UTC 时间的字符串,可能为 'UTC' 或空字符串。
198
+ * @returns {string} - 格式化后的日期字符串。
199
+ */
200
+ readonly getFormatStr: (format: string, date: ZDate, utcStr: UTCStr) => string;
201
+ /**
202
+ * 获取指定日期的最小时间格式字符串。
203
+ *
204
+ * @param {MinMsType} msStr - 最小毫秒数的类型,可能为空字符串或'.000'。
205
+ * @returns {string} - 最小时间格式字符串。
206
+ */
207
+ readonly getMinTimeFormat: (msStr: MinMsType) => string;
208
+ /**
209
+ * 获取指定日期的最大时间格式字符串。
210
+ *
211
+ * @param {MaxMsType} msStr - 最大毫秒数的类型,可能为空字符串或'.999'。
212
+ * @returns {string} - 最大时间格式字符串。
213
+ */
214
+ readonly getMaxTimeFormat: (msStr: MaxMsType) => string;
215
+ }, {
216
+ readonly dateUnit: "Minutes";
217
+ readonly formatChar: "m";
218
+ readonly formatRegExp: RegExp;
219
+ readonly formatDiff: 0;
220
+ /**
221
+ * 根据指定的格式字符串、日期对象和是否为UTC时间生成格式化的日期字符串。
222
+ *
223
+ * @param {string} format - 格式化字符串,例如 'YYYY/MM/DD HH:mm:ss'。
224
+ * @param {ZDate} date - 要格式化的日期对象。
225
+ * @param {UTCStr} utcStr - 表示是否为 UTC 时间的字符串,可能为 'UTC' 或空字符串。
226
+ * @returns {string} - 格式化后的日期字符串。
227
+ */
228
+ readonly getFormatStr: (format: string, date: ZDate, utcStr: UTCStr) => string;
229
+ /**
230
+ * 获取指定日期的最小时间格式字符串。
231
+ *
232
+ * @param {MinMsType} msStr - 最小毫秒数的类型,可能为空字符串或'.000'。
233
+ * @returns {string} - 最小时间格式字符串。
234
+ */
235
+ readonly getMinTimeFormat: (msStr: MinMsType) => string;
236
+ /**
237
+ * 获取指定日期的最大时间格式字符串。
238
+ *
239
+ * @param {MaxMsType} msStr - 最大毫秒数的类型,可能为空字符串或'.999'。
240
+ * @returns {string} - 最大时间格式字符串。
241
+ */
242
+ readonly getMaxTimeFormat: (msStr: MaxMsType) => string;
243
+ }, {
244
+ readonly dateUnit: "Seconds";
245
+ readonly formatChar: "s";
246
+ readonly formatRegExp: RegExp;
247
+ readonly formatDiff: 0;
248
+ /**
249
+ * 根据指定的格式字符串、日期对象和是否为UTC时间生成格式化的日期字符串。
250
+ *
251
+ * @param {string} format - 格式化字符串,例如 'YYYY/MM/DD HH:mm:ss'。
252
+ * @param {ZDate} date - 要格式化的日期对象。
253
+ * @param {UTCStr} utcStr - 表示是否为 UTC 时间的字符串,可能为 'UTC' 或空字符串。
254
+ * @returns {string} - 格式化后的日期字符串。
255
+ */
256
+ readonly getFormatStr: (format: string, date: ZDate, utcStr: UTCStr) => string;
257
+ /**
258
+ * 获取指定日期的最小时间格式字符串。
259
+ *
260
+ * @param {MinMsType} msStr - 最小毫秒数的类型,可能为空字符串或'.000'。
261
+ * @returns {string} - 最小时间格式字符串。
262
+ */
263
+ readonly getMinTimeFormat: (msStr: MinMsType) => string;
264
+ /**
265
+ * 获取指定日期的最大时间格式字符串。
266
+ *
267
+ * @param {MaxMsType} msStr - 最大毫秒数的类型,可能为空字符串或'.999'。
268
+ * @returns {string} - 最大时间格式字符串。
269
+ */
270
+ readonly getMaxTimeFormat: (msStr: MaxMsType) => string;
271
+ }, {
272
+ readonly dateUnit: "Milliseconds";
273
+ readonly formatChar: "S";
274
+ readonly formatRegExp: RegExp;
275
+ readonly formatDiff: 0;
276
+ /**
277
+ * 根据指定的格式字符串、日期对象和是否为UTC时间生成格式化的日期字符串。
278
+ *
279
+ * @param {string} format - 格式化字符串,例如 'YYYY/MM/DD HH:mm:ss'。
280
+ * @param {ZDate} date - 要格式化的日期对象。
281
+ * @param {UTCStr} utcStr - 表示是否为 UTC 时间的字符串,可能为 'UTC' 或空字符串。
282
+ * @returns {string} - 格式化后的日期字符串。
283
+ */
284
+ readonly getFormatStr: (format: string, date: ZDate, utcStr: UTCStr) => string;
285
+ /**
286
+ * 获取指定日期的最小时间格式字符串。
287
+ *
288
+ * @returns {string} - 最小时间格式字符串。
289
+ */
290
+ readonly getMinTimeFormat: () => string;
291
+ /**
292
+ * 获取指定日期的最大时间格式字符串。
293
+ *
294
+ * @returns {string} - 最大时间格式字符串。
295
+ */
296
+ readonly getMaxTimeFormat: () => string;
297
+ }];
298
+ /**
299
+ * 定义了一个类型别名 `FormatUtils`,它是 `formatUtils` 数组的类型。
300
+ * `formatUtils` 数组包含了多个用于格式化日期的工具对象。
301
+ */
302
+ type FormatUtils = typeof formatUtils;
303
+ /**
304
+ * 定义了一个类型别名 `FormatUtil`,它是 `FormatUtils` 数组中的单个元素的类型。
305
+ * 即表示一个用于格式化日期的工具对象。
306
+ */
307
+ type FormatUtil = FormatUtils[number];
308
+ /**
309
+ * 定义了一个类型别名 `ZDateUnit`,它是 `FormatUtil` 对象中的 `dateUnit` 属性的类型。
310
+ * `dateUnit` 属性表示日期的单位,如 'Hours'、'Minutes' 等。
311
+ */
312
+ export type ZDateUnit = FormatUtil['dateUnit'];
313
+ /**
314
+ * 根据指定的格式、日期对象和是否为UTC时间生成格式化的日期字符串。
315
+ *
316
+ * @param date - 要格式化的日期对象。
317
+ * @param format - 格式化字符串,默认为 'YYYY/MM/DD HH:mm:ss'。
318
+ * @param isUTC - 是否为UTC时间,默认为 false。
319
+ * @param params - 可选参数,用于格式化日期。
320
+ * @returns 格式化后的日期字符串。
321
+ */
322
+ declare const getFormatStr: (date: ZDate, format?: string, isUTC?: boolean, fromDay?: WeekDays | undefined, firstWeekDiff?: 0 | 1 | undefined) => string;
323
+ /**
324
+ * 获取指定日期的最小时间格式字符串。
325
+ *
326
+ * @param date - 要格式化的日期对象。
327
+ * @param dateUnit - 日期单位,排除毫秒。
328
+ * @param withMs - 是否包含毫秒,默认为 false。
329
+ * @param params - 可选参数,用于格式化日期。
330
+ * @returns 最小时间格式字符串。
331
+ */
332
+ declare const getMinTimeFormat: (date: ZDate, dateUnit: Exclude<ZDateUnit, "Milliseconds">, withMs?: boolean, fromDay?: WeekDays | undefined, firstWeekDiff?: 0 | 1 | undefined) => string;
333
+ /**
334
+ * 获取指定日期的最大时间格式字符串。
335
+ *
336
+ * @param date - 要格式化的日期对象。
337
+ * @param dateUnit - 日期单位,排除毫秒。
338
+ * @param withMs - 是否包含毫秒,默认为 false。
339
+ * @param params - 可选参数,用于格式化日期。
340
+ * @returns 最大时间格式字符串。
341
+ */
342
+ declare const getMaxTimeFormat: (date: ZDate, dateUnit: Exclude<ZDateUnit, "Milliseconds">, withMs?: boolean, fromDay?: WeekDays | undefined, firstWeekDiff?: 0 | 1 | undefined) => string;
343
+ /**
344
+ * 根据指定的格式字符串设置日期对象的时间。
345
+ *
346
+ * @param date - 要设置的日期对象。
347
+ * @param dateStr - 包含日期和时间的字符串。
348
+ * @param format - 格式化字符串。
349
+ * @param params - 可选参数,用于格式化日期。
350
+ * @returns 设置后的日期对象的时间戳。
351
+ */
352
+ declare const setDateByFormat: (date: ZDate, dateStr: string, format: string, fromDay?: WeekDays | undefined, firstWeekDiff?: 0 | 1 | undefined) => number;
353
+ /**
354
+ * 自定义日期类,继承自 JavaScript 的内置 `Date` 类。
355
+ * 提供了一些额外的方法来处理日期和时间。
356
+ */
357
+ export declare class ZDate extends Date {
358
+ /**
359
+ * 设置日期的季度。
360
+ * @param {number} quarter - 季度数。
361
+ * @returns {number} - 返回当前日期的时间戳。
362
+ *
363
+ * @example
364
+ const date = new ZDate('2024/01/01 00:00:00')
365
+ date.setQuarter(3)
366
+ * // 输出 1719763200000
367
+ */
368
+ setQuarter(quarter: number): number;
369
+ /**
370
+ * 获取日期的季度。
371
+ * @returns {number} - 返回当前日期所属的季度,范围从 1 到 4。
372
+ *
373
+ * @example new ZDate('2024/01/01 00:00:00').getQuarter()
374
+ * // 输出 1
375
+ */
376
+ getQuarter(): number;
377
+ /**
378
+ * 设置日期的 UTC 季度。
379
+ * @param {number} quarter - 季度数。
380
+ * @returns {number} - 返回当前日期的 UTC 时间戳。
381
+ *
382
+ * @example
383
+ const date = new ZDate('2024/01/01 00:00:00')
384
+ date.setUTCQuarter(3)
385
+ * // 输出 1688227200000
386
+ */
387
+ setUTCQuarter(quarter: number): number;
388
+ /**
389
+ * 获取日期的 UTC 季度。
390
+ * @returns {number} - 返回当前日期所属的 UTC 季度,范围从 1 到 4。
391
+ *
392
+ * @example new ZDate('2024/01/01 00:00:00').getUTCQuarter()
393
+ * // 输出 4
394
+ */
395
+ getUTCQuarter(): number;
396
+ /**
397
+ * 设置日期的周数。
398
+ * @param {number} week - 周数,范围从 1 开始。
399
+ * @param fromDay — 周的起始日,默认为星期日(0)。
400
+ * @param firstWeekDiff — 用于调整第一周的差异,默认为0。
401
+ * @returns {number} - 返回当前日期的时间戳。
402
+ *
403
+ * @example
404
+ const date = new ZDate('2024/02/01 23:59:59')
405
+ set.setWeek(7)
406
+ * // 输出 1707580800000
407
+ * @example
408
+ const date = new ZDate('2024/02/01 23:59:59')
409
+ set.setWeek(7, 1, 1)
410
+ * // 输出 1707667200000
411
+ */
412
+ setWeek(week: number, ...params: WeekParams): number;
413
+ /**
414
+ * 获取日期的周数。
415
+ * @param fromDay — 周的起始日,默认为星期日(0)。
416
+ * @param firstWeekDiff — 用于调整第一周的差异,默认为0。
417
+ * @returns {number} - 返回当前日期所属的周数,范围从 1 开始。
418
+ *
419
+ * @example new ZDate('2024/02/01 23:59:59').getWeek(1, 1)
420
+ * // 输出 5
421
+ * @example new ZDate('2024/02/01 23:59:59').getWeek(0, 1)
422
+ * // 输出 4
423
+ * @example new ZDate('2024/02/01 23:59:59').getWeek()
424
+ * // 输出 5
425
+ */
426
+ getWeek(...params: WeekParams): number;
427
+ /**
428
+ * 设置日期的 UTC 周数。
429
+ * @param {number} week - 周数,范围从 1 开始。
430
+ * @param fromDay — 周的起始日,默认为星期日(0)。
431
+ * @param firstWeekDiff — 用于调整第一周的差异,默认为0。
432
+ * @returns {number} - 返回当前日期的 UTC 时间戳。
433
+ */
434
+ setUTCWeek(week: number, ...params: WeekParams): number;
435
+ /**
436
+ * 获取日期的 UTC 周数。
437
+ * @param fromDay — 周的起始日,默认为星期日(0)。
438
+ * @param firstWeekDiff — 用于调整第一周的差异,默认为0。
439
+ * @returns {number} - 返回当前日期所属的 UTC 周数,范围从 1 开始。
440
+ */
441
+ getUTCWeek(...params: WeekParams): number;
442
+ /**
443
+ * 获取格式化后的日期字符串。
444
+ * @param format — 格式化字符串,默认为 'YYYY/MM/DD HH:mm:ss'。
445
+ * @param isUTC — 是否为UTC时间,默认为 false。
446
+ * @param fromDay — 可选参数,周的起始日,默认为星期日(0)。
447
+ * @param firstWeekDiff — 可选参数,用于调整第一周的差异,默认为0。
448
+ * @returns {string} - 返回格式化后的日期字符串。
449
+ *
450
+ * @example new ZDate('2024/01/01 00:00:00').getFormatStr('YYYY/MM/DD 23:59:59')
451
+ * // 输出 '2024/01/01 23:59:59'
452
+ */
453
+ getFormatStr(...params: WithoutFirstParams<typeof getFormatStr>): string;
454
+ /**
455
+ * 获取最小时间格式的日期字符串。
456
+ * @param dateUnit — 日期单位,排除毫秒。
457
+ * @param withMs — 是否包含毫秒,默认为 false。
458
+ * @param fromDay — 可选参数,周的起始日,默认为星期日(0)。
459
+ * @param firstWeekDiff — 可选参数,用于调整第一周的差异,默认为0。
460
+ * @returns {string} - 返回最小时间格式的日期字符串。
461
+ *
462
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('FullYear')
463
+ * // 输出 '2004/01/01 00:00:00'
464
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('FullYear', true)
465
+ * // 输出 '2004/01/01 00:00:00.000'
466
+ *
467
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Quarter')
468
+ * // 输出 '2004/04/01 00:00:00'
469
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Quarter', true)
470
+ * // 输出 '2004/04/01 00:00:00.000'
471
+ *
472
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Month')
473
+ * // 输出 '2004/05/01 00:00:00'
474
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Month', true)
475
+ * // 输出 '2004/05/01 00:00:00.000'
476
+ *
477
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Date')
478
+ * // 输出 '2004/05/06 00:00:00'
479
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Date', true)
480
+ * // 输出 '2004/05/06 00:00:00.000'
481
+ *
482
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Hours')
483
+ * // 输出 '2004/05/06 07:00:00'
484
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Hours', true)
485
+ * // 输出 '2004/05/06 07:00:00.000'
486
+ *
487
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Minutes')
488
+ * // 输出 '2004/05/06 07:08:00'
489
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Minutes', true)
490
+ * // 输出 '2004/05/06 07:08:00.000'
491
+ *
492
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Seconds')
493
+ * // 输出 '2004/05/06 07:08:09'
494
+ * @example new ZDate('2004/05/06 07:08:09').getMinTimeFormatStr('Seconds', true)
495
+ * // 输出 '2004/05/06 07:08:09.000'
496
+ */
497
+ getMinTimeFormatStr(...params: WithoutFirstParams<typeof getMinTimeFormat>): string;
498
+ /**
499
+ * 获取最大时间格式的日期字符串。
500
+ * @param dateUnit — 日期单位,排除毫秒。
501
+ * @param withMs — 是否包含毫秒,默认为 false。
502
+ * @param fromDay — 可选参数,周的起始日,默认为星期日(0)。
503
+ * @param firstWeekDiff — 可选参数,用于调整第一周的差异,默认为0。
504
+ * @returns {string} - 返回最大时间格式的日期字符串。
505
+ *
506
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('FullYear')
507
+ * // 输出 '2004/12/31 23:59:59'
508
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('FullYear', true)
509
+ * // 输出 '2004/12/31 23:59:59.999'
510
+ *
511
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Quarter')
512
+ * // 输出 '2004/06/30 23:59:59'
513
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Quarter', true)
514
+ * // 输出 '2004/06/30 23:59:59.999'
515
+ *
516
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Month')
517
+ * // 输出 '2004/05/31 23:59:59'
518
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Month', true)
519
+ * // 输出 '2004/05/31 23:59:59.999'
520
+ *
521
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Date')
522
+ * // 输出 '2004/05/06 23:59:59'
523
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Date', true)
524
+ * // 输出 '2004/05/06 23:59:59.999'
525
+ *
526
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Hours')
527
+ * // 输出 '2004/05/06 07:59:59'
528
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Hours', true)
529
+ * // 输出 '2004/05/06 07:59:59.999'
530
+ *
531
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Minutes')
532
+ * // 输出 '2004/05/06 07:08:59'
533
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Minutes', true)
534
+ * // 输出 '2004/05/06 07:08:59.999'
535
+ *
536
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Seconds')
537
+ * // 输出 '2004/05/06 07:08:09'
538
+ * @example new ZDate('2004/05/06 07:08:09').getMaxTimeFormatStr('Seconds', true)
539
+ * // 输出 '2004/05/06 07:08:09.999'
540
+ */
541
+ getMaxTimeFormatStr(...params: WithoutFirstParams<typeof getMaxTimeFormat>): string;
542
+ /**
543
+ * 根据指定的格式设置日期。
544
+ * @param dateStr — 包含日期和时间的字符串。
545
+ * @param format — 格式化字符串。
546
+ * @param fromDay — 可选参数,周的起始日,默认为星期日(0)。
547
+ * @param firstWeekDiff — 可选参数,用于调整第一周的差异,默认为0。
548
+ * @returns {number} - 返回当前日期的时间戳。
549
+ *
550
+ * @example
551
+ const date = new ZDate('2024/01/01 00:00:00')
552
+ date.setByFormat('08/02 03:04', 'MM/DD HH:mm')
553
+ * // 输出 1722539071887
554
+ */
555
+ setByFormat(...args: WithoutFirstParams<typeof setDateByFormat>): number;
556
+ }
557
+ export {};
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 定义一个类型别名 `ClassType`,表示一个构造函数类型,它可以接受任意数量的参数并返回任意类型的值。
3
+ */
4
+ export type ClassType = new (...args: any) => any;
5
+ /**
6
+ * 定义一个类型别名 `KeyMatch`,它是一个泛型类型,接受两个类型参数 `T` 和 `V`。
7
+ * 这个类型别名的目的是从类型 `T` 中找出所有属性值为 `V` 的属性名,并将这些属性名组成一个联合类型。
8
+ *
9
+ * @template T - 一个对象类型,用于查找属性。
10
+ * @template V - 一个类型,用于匹配属性值。
11
+ * @returns 返回一个联合类型,包含所有属性值为 `V` 的属性名。
12
+ */
13
+ export type KeyMatch<T, V> = {
14
+ [K in keyof T]-?: T[K] extends V ? K : never;
15
+ }[keyof T];
16
+ /**
17
+ * 定义一个类型别名 `KeyValType`,它表示一个联合类型,包含字符串和数字类型。
18
+ * 这个类型别名通常用于表示键值对中的键或值的类型。
19
+ */
20
+ export type KeyValType = string | number;
21
+ /**
22
+ * 定义一个类型别名 `WithoutFirst`,它是一个泛型类型,接受一个数组类型 `T` 作为参数。
23
+ * 这个类型别名的目的是从数组 `T` 中移除第一个元素,并返回剩余元素组成的数组类型。
24
+ *
25
+ * @template T - 一个数组类型,用于移除第一个元素。
26
+ * @returns 返回一个数组类型,包含 `T` 中除第一个元素外的所有元素。
27
+ * 如果 `T` 是空数组,则返回 `never` 类型。
28
+ */
29
+ export type WithoutFirst<T extends any[]> = T extends [any, ...infer R] ? R : never;
30
+ /**
31
+ * 定义一个类型别名 `WithoutFirstParams`,它是一个泛型类型,接受一个函数类型 `T` 作为参数。
32
+ * 这个类型别名的目的是从函数 `T` 的参数列表中移除第一个参数,并返回剩余参数组成的数组类型。
33
+ *
34
+ * @template T - 一个函数类型,用于移除第一个参数。
35
+ * @returns 返回一个数组类型,包含 `T` 中除第一个参数外的所有参数。
36
+ * 如果 `T` 没有参数,则返回 `never` 类型。
37
+ */
38
+ export type WithoutFirstParams<T extends (...args: any) => any> = WithoutFirst<Parameters<T>>;
39
+ export {};
@@ -0,0 +1,43 @@
1
+ import { CombineClass, CombineInstanceType } from './combine';
2
+ /**
3
+ * 一个基类,用于实现原型绑定的功能。
4
+ * 该类包含一个构造函数和两个静态方法:bindList 和 bindObject。
5
+ * @example
6
+ class A extends WithPrototype {}
7
+ */
8
+ export declare class WithPrototype {
9
+ /**
10
+ * 构造函数,接收任意数量的参数。
11
+ * @param args - 传递给构造函数的参数。
12
+ */
13
+ constructor(...args: any);
14
+ /**
15
+ * 静态方法,用于将一个类的原型绑定到一个对象列表上。
16
+ * @param this - 当前类的引用。
17
+ * @param list - 要绑定原型的对象列表。
18
+ * @returns 一个新的对象列表,每个对象都绑定了当前类的原型。
19
+ */
20
+ static bindList<Class extends typeof WithPrototype & CombineClass>(this: Class, list: CombineInstanceType<Class>[]): CombineInstanceType<Class>[];
21
+ /**
22
+ * 静态方法,用于将一个类的原型绑定到一个对象上。
23
+ * @param this - 当前类的引用。
24
+ * @param data - 要绑定原型的对象。
25
+ * @returns 一个新的对象,绑定了当前类的原型。
26
+ */
27
+ static bindObject<Class extends typeof WithPrototype & CombineClass>(this: Class, data: CombineInstanceType<Class>): CombineInstanceType<Class>;
28
+ }
29
+ /**
30
+ * 一个继承自 WithPrototype 的类,用于实现使用 new 关键字创建对象时的原型绑定功能。
31
+ * 该类重写了 bindObject 方法,使用 new 关键字创建对象。
32
+ * @example
33
+ class A extends WithNew {}
34
+ */
35
+ export declare class WithNew extends WithPrototype {
36
+ /**
37
+ * 静态方法,用于使用 new 关键字创建一个新的对象,并将当前类的原型绑定到该对象上。
38
+ * @param this - 当前类的引用。
39
+ * @param data - 传递给构造函数的参数。
40
+ * @returns 一个新的对象,绑定了当前类的原型。
41
+ */
42
+ static bindObject<Class extends typeof WithNew & CombineClass>(this: Class, data: CombineInstanceType<Class>): CombineInstanceType<Class>;
43
+ }