@alibarbar/common 1.0.0
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/README.md +338 -0
- package/dist/algorithm.d.mts +66 -0
- package/dist/algorithm.d.ts +66 -0
- package/dist/algorithm.js +44 -0
- package/dist/algorithm.js.map +1 -0
- package/dist/algorithm.mjs +3 -0
- package/dist/algorithm.mjs.map +1 -0
- package/dist/array.d.mts +139 -0
- package/dist/array.d.ts +139 -0
- package/dist/array.js +84 -0
- package/dist/array.js.map +1 -0
- package/dist/array.mjs +3 -0
- package/dist/array.mjs.map +1 -0
- package/dist/chunk-27UDDVLZ.js +259 -0
- package/dist/chunk-27UDDVLZ.js.map +1 -0
- package/dist/chunk-2FFSQ573.mjs +138 -0
- package/dist/chunk-2FFSQ573.mjs.map +1 -0
- package/dist/chunk-4RGXV4SJ.js +106 -0
- package/dist/chunk-4RGXV4SJ.js.map +1 -0
- package/dist/chunk-56W6YECK.js +374 -0
- package/dist/chunk-56W6YECK.js.map +1 -0
- package/dist/chunk-5BGSUGTI.mjs +128 -0
- package/dist/chunk-5BGSUGTI.mjs.map +1 -0
- package/dist/chunk-7E6GELHJ.mjs +302 -0
- package/dist/chunk-7E6GELHJ.mjs.map +1 -0
- package/dist/chunk-7V5UQXIO.js +89 -0
- package/dist/chunk-7V5UQXIO.js.map +1 -0
- package/dist/chunk-A4SWQXX7.mjs +484 -0
- package/dist/chunk-A4SWQXX7.mjs.map +1 -0
- package/dist/chunk-ALDC6LRJ.mjs +85 -0
- package/dist/chunk-ALDC6LRJ.mjs.map +1 -0
- package/dist/chunk-BHCRFURU.js +491 -0
- package/dist/chunk-BHCRFURU.js.map +1 -0
- package/dist/chunk-D7CS5EKF.js +110 -0
- package/dist/chunk-D7CS5EKF.js.map +1 -0
- package/dist/chunk-DYBSRI7V.js +189 -0
- package/dist/chunk-DYBSRI7V.js.map +1 -0
- package/dist/chunk-F3LAGHPG.js +332 -0
- package/dist/chunk-F3LAGHPG.js.map +1 -0
- package/dist/chunk-HLDFI7R2.mjs +175 -0
- package/dist/chunk-HLDFI7R2.mjs.map +1 -0
- package/dist/chunk-HME2N3VY.mjs +354 -0
- package/dist/chunk-HME2N3VY.mjs.map +1 -0
- package/dist/chunk-I3L42475.js +145 -0
- package/dist/chunk-I3L42475.js.map +1 -0
- package/dist/chunk-JBLX27WD.mjs +240 -0
- package/dist/chunk-JBLX27WD.mjs.map +1 -0
- package/dist/chunk-JHZ7M2MR.mjs +133 -0
- package/dist/chunk-JHZ7M2MR.mjs.map +1 -0
- package/dist/chunk-JK2SE3I2.js +100 -0
- package/dist/chunk-JK2SE3I2.js.map +1 -0
- package/dist/chunk-JQZBPAPO.js +157 -0
- package/dist/chunk-JQZBPAPO.js.map +1 -0
- package/dist/chunk-JXYGC2C5.mjs +100 -0
- package/dist/chunk-JXYGC2C5.mjs.map +1 -0
- package/dist/chunk-KGFTD255.js +104 -0
- package/dist/chunk-KGFTD255.js.map +1 -0
- package/dist/chunk-LBHBNPNJ.mjs +148 -0
- package/dist/chunk-LBHBNPNJ.mjs.map +1 -0
- package/dist/chunk-LCXGZISK.js +158 -0
- package/dist/chunk-LCXGZISK.js.map +1 -0
- package/dist/chunk-LF4CILQS.mjs +87 -0
- package/dist/chunk-LF4CILQS.mjs.map +1 -0
- package/dist/chunk-MMR6XQNX.js +98 -0
- package/dist/chunk-MMR6XQNX.js.map +1 -0
- package/dist/chunk-NSSDYX2U.mjs +80 -0
- package/dist/chunk-NSSDYX2U.mjs.map +1 -0
- package/dist/chunk-O3O67R4I.js +143 -0
- package/dist/chunk-O3O67R4I.js.map +1 -0
- package/dist/chunk-OX5PLOWB.js +90 -0
- package/dist/chunk-OX5PLOWB.js.map +1 -0
- package/dist/chunk-PJ7UCTX4.mjs +362 -0
- package/dist/chunk-PJ7UCTX4.mjs.map +1 -0
- package/dist/chunk-QIBE7GVN.mjs +81 -0
- package/dist/chunk-QIBE7GVN.mjs.map +1 -0
- package/dist/chunk-QIOC54LQ.mjs +130 -0
- package/dist/chunk-QIOC54LQ.mjs.map +1 -0
- package/dist/chunk-QV6MIQ7H.mjs +328 -0
- package/dist/chunk-QV6MIQ7H.mjs.map +1 -0
- package/dist/chunk-TQN37HIN.js +94 -0
- package/dist/chunk-TQN37HIN.js.map +1 -0
- package/dist/chunk-XJTZDXSR.mjs +94 -0
- package/dist/chunk-XJTZDXSR.mjs.map +1 -0
- package/dist/chunk-XVUE53T3.js +361 -0
- package/dist/chunk-XVUE53T3.js.map +1 -0
- package/dist/chunk-Y364QIQH.js +139 -0
- package/dist/chunk-Y364QIQH.js.map +1 -0
- package/dist/chunk-YXM6Q4JS.mjs +94 -0
- package/dist/chunk-YXM6Q4JS.mjs.map +1 -0
- package/dist/chunk-ZDMFMUDR.js +309 -0
- package/dist/chunk-ZDMFMUDR.js.map +1 -0
- package/dist/chunk-ZVJ6NQUM.mjs +82 -0
- package/dist/chunk-ZVJ6NQUM.mjs.map +1 -0
- package/dist/color.d.mts +74 -0
- package/dist/color.d.ts +74 -0
- package/dist/color.js +40 -0
- package/dist/color.js.map +1 -0
- package/dist/color.mjs +3 -0
- package/dist/color.mjs.map +1 -0
- package/dist/crypto.d.mts +92 -0
- package/dist/crypto.d.ts +92 -0
- package/dist/crypto.js +60 -0
- package/dist/crypto.js.map +1 -0
- package/dist/crypto.mjs +3 -0
- package/dist/crypto.mjs.map +1 -0
- package/dist/data-structure.d.mts +213 -0
- package/dist/data-structure.d.ts +213 -0
- package/dist/data-structure.js +32 -0
- package/dist/data-structure.js.map +1 -0
- package/dist/data-structure.mjs +3 -0
- package/dist/data-structure.mjs.map +1 -0
- package/dist/date.d.mts +108 -0
- package/dist/date.d.ts +108 -0
- package/dist/date.js +72 -0
- package/dist/date.js.map +1 -0
- package/dist/date.mjs +3 -0
- package/dist/date.mjs.map +1 -0
- package/dist/dom.d.mts +92 -0
- package/dist/dom.d.ts +92 -0
- package/dist/dom.js +56 -0
- package/dist/dom.js.map +1 -0
- package/dist/dom.mjs +3 -0
- package/dist/dom.mjs.map +1 -0
- package/dist/file.d.mts +44 -0
- package/dist/file.d.ts +44 -0
- package/dist/file.js +32 -0
- package/dist/file.js.map +1 -0
- package/dist/file.mjs +3 -0
- package/dist/file.mjs.map +1 -0
- package/dist/i18n.d.mts +77 -0
- package/dist/i18n.d.ts +77 -0
- package/dist/i18n.js +40 -0
- package/dist/i18n.js.map +1 -0
- package/dist/i18n.mjs +3 -0
- package/dist/i18n.mjs.map +1 -0
- package/dist/index.d.mts +155 -0
- package/dist/index.d.ts +155 -0
- package/dist/index.js +839 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +22 -0
- package/dist/index.mjs.map +1 -0
- package/dist/network.d.mts +47 -0
- package/dist/network.d.ts +47 -0
- package/dist/network.js +28 -0
- package/dist/network.js.map +1 -0
- package/dist/network.mjs +3 -0
- package/dist/network.mjs.map +1 -0
- package/dist/number.d.mts +100 -0
- package/dist/number.d.ts +100 -0
- package/dist/number.js +56 -0
- package/dist/number.js.map +1 -0
- package/dist/number.mjs +3 -0
- package/dist/number.mjs.map +1 -0
- package/dist/object.d.mts +132 -0
- package/dist/object.d.ts +132 -0
- package/dist/object.js +80 -0
- package/dist/object.js.map +1 -0
- package/dist/object.mjs +3 -0
- package/dist/object.mjs.map +1 -0
- package/dist/performance.d.mts +85 -0
- package/dist/performance.d.ts +85 -0
- package/dist/performance.js +40 -0
- package/dist/performance.js.map +1 -0
- package/dist/performance.mjs +3 -0
- package/dist/performance.mjs.map +1 -0
- package/dist/storage.d.mts +176 -0
- package/dist/storage.d.ts +176 -0
- package/dist/storage.js +33 -0
- package/dist/storage.js.map +1 -0
- package/dist/storage.mjs +4 -0
- package/dist/storage.mjs.map +1 -0
- package/dist/string.d.mts +105 -0
- package/dist/string.d.ts +105 -0
- package/dist/string.js +68 -0
- package/dist/string.js.map +1 -0
- package/dist/string.mjs +3 -0
- package/dist/string.mjs.map +1 -0
- package/dist/tracking.d.mts +182 -0
- package/dist/tracking.d.ts +182 -0
- package/dist/tracking.js +52 -0
- package/dist/tracking.js.map +1 -0
- package/dist/tracking.mjs +3 -0
- package/dist/tracking.mjs.map +1 -0
- package/dist/transform.d.mts +53 -0
- package/dist/transform.d.ts +53 -0
- package/dist/transform.js +32 -0
- package/dist/transform.js.map +1 -0
- package/dist/transform.mjs +3 -0
- package/dist/transform.mjs.map +1 -0
- package/dist/upload-DzlQtUBc.d.mts +202 -0
- package/dist/upload-DzlQtUBc.d.ts +202 -0
- package/dist/upload.d.mts +1 -0
- package/dist/upload.d.ts +1 -0
- package/dist/upload.js +17 -0
- package/dist/upload.js.map +1 -0
- package/dist/upload.mjs +4 -0
- package/dist/upload.mjs.map +1 -0
- package/dist/url.d.mts +82 -0
- package/dist/url.d.ts +82 -0
- package/dist/url.js +44 -0
- package/dist/url.js.map +1 -0
- package/dist/url.mjs +3 -0
- package/dist/url.mjs.map +1 -0
- package/dist/validation.d.mts +83 -0
- package/dist/validation.d.ts +83 -0
- package/dist/validation.js +60 -0
- package/dist/validation.js.map +1 -0
- package/dist/validation.mjs +3 -0
- package/dist/validation.mjs.map +1 -0
- package/package.json +170 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 数据结构工具
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 栈实现
|
|
6
|
+
*/
|
|
7
|
+
declare class Stack<T> {
|
|
8
|
+
private items;
|
|
9
|
+
/**
|
|
10
|
+
* 入栈
|
|
11
|
+
*/
|
|
12
|
+
push(item: T): void;
|
|
13
|
+
/**
|
|
14
|
+
* 出栈
|
|
15
|
+
*/
|
|
16
|
+
pop(): T | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* 查看栈顶元素
|
|
19
|
+
*/
|
|
20
|
+
peek(): T | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* 判断栈是否为空
|
|
23
|
+
*/
|
|
24
|
+
isEmpty(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* 获取栈的大小
|
|
27
|
+
*/
|
|
28
|
+
size(): number;
|
|
29
|
+
/**
|
|
30
|
+
* 清空栈
|
|
31
|
+
*/
|
|
32
|
+
clear(): void;
|
|
33
|
+
/**
|
|
34
|
+
* 转换为数组
|
|
35
|
+
*/
|
|
36
|
+
toArray(): T[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 队列实现(数据结构版本,与performance.Queue区分)
|
|
40
|
+
*/
|
|
41
|
+
declare class DataQueue<T> {
|
|
42
|
+
private items;
|
|
43
|
+
/**
|
|
44
|
+
* 入队
|
|
45
|
+
*/
|
|
46
|
+
enqueue(item: T): void;
|
|
47
|
+
/**
|
|
48
|
+
* 出队
|
|
49
|
+
*/
|
|
50
|
+
dequeue(): T | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* 查看队首元素
|
|
53
|
+
*/
|
|
54
|
+
front(): T | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* 判断队列是否为空
|
|
57
|
+
*/
|
|
58
|
+
isEmpty(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* 获取队列的大小
|
|
61
|
+
*/
|
|
62
|
+
size(): number;
|
|
63
|
+
/**
|
|
64
|
+
* 清空队列
|
|
65
|
+
*/
|
|
66
|
+
clear(): void;
|
|
67
|
+
/**
|
|
68
|
+
* 转换为数组
|
|
69
|
+
*/
|
|
70
|
+
toArray(): T[];
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 链表实现
|
|
74
|
+
*/
|
|
75
|
+
declare class LinkedList<T> {
|
|
76
|
+
private head;
|
|
77
|
+
private length;
|
|
78
|
+
/**
|
|
79
|
+
* 在链表末尾添加元素
|
|
80
|
+
*/
|
|
81
|
+
append(value: T): void;
|
|
82
|
+
/**
|
|
83
|
+
* 在指定位置插入元素
|
|
84
|
+
*/
|
|
85
|
+
insert(index: number, value: T): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* 删除指定位置的元素
|
|
88
|
+
*/
|
|
89
|
+
removeAt(index: number): T | null;
|
|
90
|
+
/**
|
|
91
|
+
* 查找元素索引
|
|
92
|
+
*/
|
|
93
|
+
indexOf(value: T): number;
|
|
94
|
+
/**
|
|
95
|
+
* 获取指定位置的元素
|
|
96
|
+
*/
|
|
97
|
+
get(index: number): T | null;
|
|
98
|
+
/**
|
|
99
|
+
* 判断链表是否为空
|
|
100
|
+
*/
|
|
101
|
+
isEmpty(): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* 获取链表长度
|
|
104
|
+
*/
|
|
105
|
+
size(): number;
|
|
106
|
+
/**
|
|
107
|
+
* 转换为数组
|
|
108
|
+
*/
|
|
109
|
+
toArray(): T[];
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 二叉树实现
|
|
113
|
+
*/
|
|
114
|
+
declare class BinaryTree<T> {
|
|
115
|
+
private root;
|
|
116
|
+
/**
|
|
117
|
+
* 插入节点
|
|
118
|
+
*/
|
|
119
|
+
insert(value: T): void;
|
|
120
|
+
private insertNode;
|
|
121
|
+
/**
|
|
122
|
+
* 查找节点
|
|
123
|
+
*/
|
|
124
|
+
search(value: T): boolean;
|
|
125
|
+
private searchNode;
|
|
126
|
+
/**
|
|
127
|
+
* 中序遍历
|
|
128
|
+
*/
|
|
129
|
+
inOrder(): T[];
|
|
130
|
+
private inOrderTraverse;
|
|
131
|
+
/**
|
|
132
|
+
* 前序遍历
|
|
133
|
+
*/
|
|
134
|
+
preOrder(): T[];
|
|
135
|
+
private preOrderTraverse;
|
|
136
|
+
/**
|
|
137
|
+
* 后序遍历
|
|
138
|
+
*/
|
|
139
|
+
postOrder(): T[];
|
|
140
|
+
private postOrderTraverse;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* 图实现(邻接表)
|
|
144
|
+
*/
|
|
145
|
+
declare class Graph<T> {
|
|
146
|
+
private vertices;
|
|
147
|
+
/**
|
|
148
|
+
* 添加顶点
|
|
149
|
+
*/
|
|
150
|
+
addVertex(vertex: T): void;
|
|
151
|
+
/**
|
|
152
|
+
* 添加边(无向图)
|
|
153
|
+
*/
|
|
154
|
+
addEdge(vertex1: T, vertex2: T): void;
|
|
155
|
+
/**
|
|
156
|
+
* 获取顶点的邻居
|
|
157
|
+
*/
|
|
158
|
+
getNeighbors(vertex: T): T[];
|
|
159
|
+
/**
|
|
160
|
+
* 深度优先搜索
|
|
161
|
+
*/
|
|
162
|
+
dfs(start: T, callback?: (vertex: T) => void): T[];
|
|
163
|
+
/**
|
|
164
|
+
* 广度优先搜索
|
|
165
|
+
*/
|
|
166
|
+
bfs(start: T, callback?: (vertex: T) => void): T[];
|
|
167
|
+
/**
|
|
168
|
+
* 获取所有顶点
|
|
169
|
+
*/
|
|
170
|
+
getVertices(): T[];
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* LRU缓存实现
|
|
174
|
+
*/
|
|
175
|
+
declare class LRUCache<K, V> {
|
|
176
|
+
private capacity;
|
|
177
|
+
private cache;
|
|
178
|
+
constructor(capacity: number);
|
|
179
|
+
/**
|
|
180
|
+
* 获取值
|
|
181
|
+
*/
|
|
182
|
+
get(key: K): V | undefined;
|
|
183
|
+
/**
|
|
184
|
+
* 设置值
|
|
185
|
+
*/
|
|
186
|
+
set(key: K, value: V): void;
|
|
187
|
+
/**
|
|
188
|
+
* 删除键
|
|
189
|
+
*/
|
|
190
|
+
delete(key: K): boolean;
|
|
191
|
+
/**
|
|
192
|
+
* 清空缓存
|
|
193
|
+
*/
|
|
194
|
+
clear(): void;
|
|
195
|
+
/**
|
|
196
|
+
* 判断是否包含键
|
|
197
|
+
*/
|
|
198
|
+
has(key: K): boolean;
|
|
199
|
+
/**
|
|
200
|
+
* 获取缓存大小
|
|
201
|
+
*/
|
|
202
|
+
size(): number;
|
|
203
|
+
/**
|
|
204
|
+
* 获取所有键
|
|
205
|
+
*/
|
|
206
|
+
keys(): K[];
|
|
207
|
+
/**
|
|
208
|
+
* 获取所有值
|
|
209
|
+
*/
|
|
210
|
+
values(): V[];
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export { BinaryTree, DataQueue, Graph, LRUCache, LinkedList, Stack };
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 数据结构工具
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 栈实现
|
|
6
|
+
*/
|
|
7
|
+
declare class Stack<T> {
|
|
8
|
+
private items;
|
|
9
|
+
/**
|
|
10
|
+
* 入栈
|
|
11
|
+
*/
|
|
12
|
+
push(item: T): void;
|
|
13
|
+
/**
|
|
14
|
+
* 出栈
|
|
15
|
+
*/
|
|
16
|
+
pop(): T | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* 查看栈顶元素
|
|
19
|
+
*/
|
|
20
|
+
peek(): T | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* 判断栈是否为空
|
|
23
|
+
*/
|
|
24
|
+
isEmpty(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* 获取栈的大小
|
|
27
|
+
*/
|
|
28
|
+
size(): number;
|
|
29
|
+
/**
|
|
30
|
+
* 清空栈
|
|
31
|
+
*/
|
|
32
|
+
clear(): void;
|
|
33
|
+
/**
|
|
34
|
+
* 转换为数组
|
|
35
|
+
*/
|
|
36
|
+
toArray(): T[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 队列实现(数据结构版本,与performance.Queue区分)
|
|
40
|
+
*/
|
|
41
|
+
declare class DataQueue<T> {
|
|
42
|
+
private items;
|
|
43
|
+
/**
|
|
44
|
+
* 入队
|
|
45
|
+
*/
|
|
46
|
+
enqueue(item: T): void;
|
|
47
|
+
/**
|
|
48
|
+
* 出队
|
|
49
|
+
*/
|
|
50
|
+
dequeue(): T | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* 查看队首元素
|
|
53
|
+
*/
|
|
54
|
+
front(): T | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* 判断队列是否为空
|
|
57
|
+
*/
|
|
58
|
+
isEmpty(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* 获取队列的大小
|
|
61
|
+
*/
|
|
62
|
+
size(): number;
|
|
63
|
+
/**
|
|
64
|
+
* 清空队列
|
|
65
|
+
*/
|
|
66
|
+
clear(): void;
|
|
67
|
+
/**
|
|
68
|
+
* 转换为数组
|
|
69
|
+
*/
|
|
70
|
+
toArray(): T[];
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 链表实现
|
|
74
|
+
*/
|
|
75
|
+
declare class LinkedList<T> {
|
|
76
|
+
private head;
|
|
77
|
+
private length;
|
|
78
|
+
/**
|
|
79
|
+
* 在链表末尾添加元素
|
|
80
|
+
*/
|
|
81
|
+
append(value: T): void;
|
|
82
|
+
/**
|
|
83
|
+
* 在指定位置插入元素
|
|
84
|
+
*/
|
|
85
|
+
insert(index: number, value: T): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* 删除指定位置的元素
|
|
88
|
+
*/
|
|
89
|
+
removeAt(index: number): T | null;
|
|
90
|
+
/**
|
|
91
|
+
* 查找元素索引
|
|
92
|
+
*/
|
|
93
|
+
indexOf(value: T): number;
|
|
94
|
+
/**
|
|
95
|
+
* 获取指定位置的元素
|
|
96
|
+
*/
|
|
97
|
+
get(index: number): T | null;
|
|
98
|
+
/**
|
|
99
|
+
* 判断链表是否为空
|
|
100
|
+
*/
|
|
101
|
+
isEmpty(): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* 获取链表长度
|
|
104
|
+
*/
|
|
105
|
+
size(): number;
|
|
106
|
+
/**
|
|
107
|
+
* 转换为数组
|
|
108
|
+
*/
|
|
109
|
+
toArray(): T[];
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 二叉树实现
|
|
113
|
+
*/
|
|
114
|
+
declare class BinaryTree<T> {
|
|
115
|
+
private root;
|
|
116
|
+
/**
|
|
117
|
+
* 插入节点
|
|
118
|
+
*/
|
|
119
|
+
insert(value: T): void;
|
|
120
|
+
private insertNode;
|
|
121
|
+
/**
|
|
122
|
+
* 查找节点
|
|
123
|
+
*/
|
|
124
|
+
search(value: T): boolean;
|
|
125
|
+
private searchNode;
|
|
126
|
+
/**
|
|
127
|
+
* 中序遍历
|
|
128
|
+
*/
|
|
129
|
+
inOrder(): T[];
|
|
130
|
+
private inOrderTraverse;
|
|
131
|
+
/**
|
|
132
|
+
* 前序遍历
|
|
133
|
+
*/
|
|
134
|
+
preOrder(): T[];
|
|
135
|
+
private preOrderTraverse;
|
|
136
|
+
/**
|
|
137
|
+
* 后序遍历
|
|
138
|
+
*/
|
|
139
|
+
postOrder(): T[];
|
|
140
|
+
private postOrderTraverse;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* 图实现(邻接表)
|
|
144
|
+
*/
|
|
145
|
+
declare class Graph<T> {
|
|
146
|
+
private vertices;
|
|
147
|
+
/**
|
|
148
|
+
* 添加顶点
|
|
149
|
+
*/
|
|
150
|
+
addVertex(vertex: T): void;
|
|
151
|
+
/**
|
|
152
|
+
* 添加边(无向图)
|
|
153
|
+
*/
|
|
154
|
+
addEdge(vertex1: T, vertex2: T): void;
|
|
155
|
+
/**
|
|
156
|
+
* 获取顶点的邻居
|
|
157
|
+
*/
|
|
158
|
+
getNeighbors(vertex: T): T[];
|
|
159
|
+
/**
|
|
160
|
+
* 深度优先搜索
|
|
161
|
+
*/
|
|
162
|
+
dfs(start: T, callback?: (vertex: T) => void): T[];
|
|
163
|
+
/**
|
|
164
|
+
* 广度优先搜索
|
|
165
|
+
*/
|
|
166
|
+
bfs(start: T, callback?: (vertex: T) => void): T[];
|
|
167
|
+
/**
|
|
168
|
+
* 获取所有顶点
|
|
169
|
+
*/
|
|
170
|
+
getVertices(): T[];
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* LRU缓存实现
|
|
174
|
+
*/
|
|
175
|
+
declare class LRUCache<K, V> {
|
|
176
|
+
private capacity;
|
|
177
|
+
private cache;
|
|
178
|
+
constructor(capacity: number);
|
|
179
|
+
/**
|
|
180
|
+
* 获取值
|
|
181
|
+
*/
|
|
182
|
+
get(key: K): V | undefined;
|
|
183
|
+
/**
|
|
184
|
+
* 设置值
|
|
185
|
+
*/
|
|
186
|
+
set(key: K, value: V): void;
|
|
187
|
+
/**
|
|
188
|
+
* 删除键
|
|
189
|
+
*/
|
|
190
|
+
delete(key: K): boolean;
|
|
191
|
+
/**
|
|
192
|
+
* 清空缓存
|
|
193
|
+
*/
|
|
194
|
+
clear(): void;
|
|
195
|
+
/**
|
|
196
|
+
* 判断是否包含键
|
|
197
|
+
*/
|
|
198
|
+
has(key: K): boolean;
|
|
199
|
+
/**
|
|
200
|
+
* 获取缓存大小
|
|
201
|
+
*/
|
|
202
|
+
size(): number;
|
|
203
|
+
/**
|
|
204
|
+
* 获取所有键
|
|
205
|
+
*/
|
|
206
|
+
keys(): K[];
|
|
207
|
+
/**
|
|
208
|
+
* 获取所有值
|
|
209
|
+
*/
|
|
210
|
+
values(): V[];
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export { BinaryTree, DataQueue, Graph, LRUCache, LinkedList, Stack };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkBHCRFURU_js = require('./chunk-BHCRFURU.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "BinaryTree", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return chunkBHCRFURU_js.BinaryTree; }
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, "DataQueue", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return chunkBHCRFURU_js.DataQueue; }
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(exports, "Graph", {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return chunkBHCRFURU_js.Graph; }
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "LRUCache", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return chunkBHCRFURU_js.LRUCache; }
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "LinkedList", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () { return chunkBHCRFURU_js.LinkedList; }
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(exports, "Stack", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return chunkBHCRFURU_js.Stack; }
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=data-structure.js.map
|
|
32
|
+
//# sourceMappingURL=data-structure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"data-structure.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"data-structure.mjs"}
|
package/dist/date.d.mts
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 日期工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 格式化日期
|
|
6
|
+
* @param date - 日期对象或时间戳
|
|
7
|
+
* @param format - 格式字符串,默认 'YYYY-MM-DD HH:mm:ss'
|
|
8
|
+
* @returns 格式化后的日期字符串
|
|
9
|
+
*/
|
|
10
|
+
declare function formatDate(date: Date | number, format?: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* 获取相对时间描述
|
|
13
|
+
* @param date - 日期对象或时间戳
|
|
14
|
+
* @returns 相对时间字符串,如 '2分钟前', '3小时前'
|
|
15
|
+
*/
|
|
16
|
+
declare function getRelativeTime(date: Date | number): string;
|
|
17
|
+
/**
|
|
18
|
+
* 判断是否为今天
|
|
19
|
+
* @param date - 日期对象或时间戳
|
|
20
|
+
* @returns 是否为今天
|
|
21
|
+
*/
|
|
22
|
+
declare function isToday(date: Date | number): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* 判断是否为昨天
|
|
25
|
+
* @param date - 日期对象或时间戳
|
|
26
|
+
* @returns 是否为昨天
|
|
27
|
+
*/
|
|
28
|
+
declare function isYesterday(date: Date | number): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* 根据格林威治时间与当前时区获取时间 格林威治时间:0表示当前时区,1表示东一区,-1表示西一区
|
|
31
|
+
* 需要返回符合该国家的时间格式
|
|
32
|
+
* @param gmt - 格林威治时间偏移量(小时),0表示GMT+0,1表示GMT+1(东一区),-1表示GMT-1(西一区)
|
|
33
|
+
* @returns 格式化后的时间字符串
|
|
34
|
+
*/
|
|
35
|
+
declare function getTimeFromGMT(gmt: number): string;
|
|
36
|
+
/**
|
|
37
|
+
* 获取适合指定GMT时区的时间格式
|
|
38
|
+
* 格林威治时间:0表示GMT+0,1表示东一区(GMT+1),-1表示西一区(GMT-1)
|
|
39
|
+
* @param gmt - GMT时区偏移量(小时)
|
|
40
|
+
* @returns 时间格式字符串
|
|
41
|
+
*/
|
|
42
|
+
declare function getDateFormatByGMT(gmt: number): string;
|
|
43
|
+
/**
|
|
44
|
+
* 日期加减(天数)
|
|
45
|
+
* @param date - 日期对象或时间戳
|
|
46
|
+
* @param days - 要加减的天数(正数为加,负数为减)
|
|
47
|
+
* @returns 新的日期对象
|
|
48
|
+
*/
|
|
49
|
+
declare function addDays(date: Date | number, days: number): Date;
|
|
50
|
+
/**
|
|
51
|
+
* 日期加减(月数)
|
|
52
|
+
* @param date - 日期对象或时间戳
|
|
53
|
+
* @param months - 要加减的月数(正数为加,负数为减)
|
|
54
|
+
* @returns 新的日期对象
|
|
55
|
+
*/
|
|
56
|
+
declare function addMonths(date: Date | number, months: number): Date;
|
|
57
|
+
/**
|
|
58
|
+
* 日期加减(年数)
|
|
59
|
+
* @param date - 日期对象或时间戳
|
|
60
|
+
* @param years - 要加减的年数(正数为加,负数为减)
|
|
61
|
+
* @returns 新的日期对象
|
|
62
|
+
*/
|
|
63
|
+
declare function addYears(date: Date | number, years: number): Date;
|
|
64
|
+
/**
|
|
65
|
+
* 计算日期差值(天数)
|
|
66
|
+
* @param date1 - 第一个日期
|
|
67
|
+
* @param date2 - 第二个日期
|
|
68
|
+
* @returns 相差的天数(date1 - date2)
|
|
69
|
+
*/
|
|
70
|
+
declare function diffDays(date1: Date | number, date2: Date | number): number;
|
|
71
|
+
/**
|
|
72
|
+
* 获取一天的开始时间(00:00:00)
|
|
73
|
+
* @param date - 日期对象或时间戳
|
|
74
|
+
* @returns 一天的开始时间
|
|
75
|
+
*/
|
|
76
|
+
declare function startOfDay(date: Date | number): Date;
|
|
77
|
+
/**
|
|
78
|
+
* 获取一天的结束时间(23:59:59.999)
|
|
79
|
+
* @param date - 日期对象或时间戳
|
|
80
|
+
* @returns 一天的结束时间
|
|
81
|
+
*/
|
|
82
|
+
declare function endOfDay(date: Date | number): Date;
|
|
83
|
+
/**
|
|
84
|
+
* 判断是否为周末
|
|
85
|
+
* @param date - 日期对象或时间戳
|
|
86
|
+
* @returns 是否为周末
|
|
87
|
+
*/
|
|
88
|
+
declare function isWeekend(date: Date | number): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* 判断是否为工作日
|
|
91
|
+
* @param date - 日期对象或时间戳
|
|
92
|
+
* @returns 是否为工作日
|
|
93
|
+
*/
|
|
94
|
+
declare function isWeekday(date: Date | number): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* 获取周数(ISO 8601标准)
|
|
97
|
+
* @param date - 日期对象或时间戳
|
|
98
|
+
* @returns 周数(1-53)
|
|
99
|
+
*/
|
|
100
|
+
declare function getWeekNumber(date: Date | number): number;
|
|
101
|
+
/**
|
|
102
|
+
* 获取季度(1-4)
|
|
103
|
+
* @param date - 日期对象或时间戳
|
|
104
|
+
* @returns 季度(1-4)
|
|
105
|
+
*/
|
|
106
|
+
declare function getQuarter(date: Date | number): number;
|
|
107
|
+
|
|
108
|
+
export { addDays, addMonths, addYears, diffDays, endOfDay, formatDate, getDateFormatByGMT, getQuarter, getRelativeTime, getTimeFromGMT, getWeekNumber, isToday, isWeekday, isWeekend, isYesterday, startOfDay };
|
package/dist/date.d.ts
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 日期工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 格式化日期
|
|
6
|
+
* @param date - 日期对象或时间戳
|
|
7
|
+
* @param format - 格式字符串,默认 'YYYY-MM-DD HH:mm:ss'
|
|
8
|
+
* @returns 格式化后的日期字符串
|
|
9
|
+
*/
|
|
10
|
+
declare function formatDate(date: Date | number, format?: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* 获取相对时间描述
|
|
13
|
+
* @param date - 日期对象或时间戳
|
|
14
|
+
* @returns 相对时间字符串,如 '2分钟前', '3小时前'
|
|
15
|
+
*/
|
|
16
|
+
declare function getRelativeTime(date: Date | number): string;
|
|
17
|
+
/**
|
|
18
|
+
* 判断是否为今天
|
|
19
|
+
* @param date - 日期对象或时间戳
|
|
20
|
+
* @returns 是否为今天
|
|
21
|
+
*/
|
|
22
|
+
declare function isToday(date: Date | number): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* 判断是否为昨天
|
|
25
|
+
* @param date - 日期对象或时间戳
|
|
26
|
+
* @returns 是否为昨天
|
|
27
|
+
*/
|
|
28
|
+
declare function isYesterday(date: Date | number): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* 根据格林威治时间与当前时区获取时间 格林威治时间:0表示当前时区,1表示东一区,-1表示西一区
|
|
31
|
+
* 需要返回符合该国家的时间格式
|
|
32
|
+
* @param gmt - 格林威治时间偏移量(小时),0表示GMT+0,1表示GMT+1(东一区),-1表示GMT-1(西一区)
|
|
33
|
+
* @returns 格式化后的时间字符串
|
|
34
|
+
*/
|
|
35
|
+
declare function getTimeFromGMT(gmt: number): string;
|
|
36
|
+
/**
|
|
37
|
+
* 获取适合指定GMT时区的时间格式
|
|
38
|
+
* 格林威治时间:0表示GMT+0,1表示东一区(GMT+1),-1表示西一区(GMT-1)
|
|
39
|
+
* @param gmt - GMT时区偏移量(小时)
|
|
40
|
+
* @returns 时间格式字符串
|
|
41
|
+
*/
|
|
42
|
+
declare function getDateFormatByGMT(gmt: number): string;
|
|
43
|
+
/**
|
|
44
|
+
* 日期加减(天数)
|
|
45
|
+
* @param date - 日期对象或时间戳
|
|
46
|
+
* @param days - 要加减的天数(正数为加,负数为减)
|
|
47
|
+
* @returns 新的日期对象
|
|
48
|
+
*/
|
|
49
|
+
declare function addDays(date: Date | number, days: number): Date;
|
|
50
|
+
/**
|
|
51
|
+
* 日期加减(月数)
|
|
52
|
+
* @param date - 日期对象或时间戳
|
|
53
|
+
* @param months - 要加减的月数(正数为加,负数为减)
|
|
54
|
+
* @returns 新的日期对象
|
|
55
|
+
*/
|
|
56
|
+
declare function addMonths(date: Date | number, months: number): Date;
|
|
57
|
+
/**
|
|
58
|
+
* 日期加减(年数)
|
|
59
|
+
* @param date - 日期对象或时间戳
|
|
60
|
+
* @param years - 要加减的年数(正数为加,负数为减)
|
|
61
|
+
* @returns 新的日期对象
|
|
62
|
+
*/
|
|
63
|
+
declare function addYears(date: Date | number, years: number): Date;
|
|
64
|
+
/**
|
|
65
|
+
* 计算日期差值(天数)
|
|
66
|
+
* @param date1 - 第一个日期
|
|
67
|
+
* @param date2 - 第二个日期
|
|
68
|
+
* @returns 相差的天数(date1 - date2)
|
|
69
|
+
*/
|
|
70
|
+
declare function diffDays(date1: Date | number, date2: Date | number): number;
|
|
71
|
+
/**
|
|
72
|
+
* 获取一天的开始时间(00:00:00)
|
|
73
|
+
* @param date - 日期对象或时间戳
|
|
74
|
+
* @returns 一天的开始时间
|
|
75
|
+
*/
|
|
76
|
+
declare function startOfDay(date: Date | number): Date;
|
|
77
|
+
/**
|
|
78
|
+
* 获取一天的结束时间(23:59:59.999)
|
|
79
|
+
* @param date - 日期对象或时间戳
|
|
80
|
+
* @returns 一天的结束时间
|
|
81
|
+
*/
|
|
82
|
+
declare function endOfDay(date: Date | number): Date;
|
|
83
|
+
/**
|
|
84
|
+
* 判断是否为周末
|
|
85
|
+
* @param date - 日期对象或时间戳
|
|
86
|
+
* @returns 是否为周末
|
|
87
|
+
*/
|
|
88
|
+
declare function isWeekend(date: Date | number): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* 判断是否为工作日
|
|
91
|
+
* @param date - 日期对象或时间戳
|
|
92
|
+
* @returns 是否为工作日
|
|
93
|
+
*/
|
|
94
|
+
declare function isWeekday(date: Date | number): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* 获取周数(ISO 8601标准)
|
|
97
|
+
* @param date - 日期对象或时间戳
|
|
98
|
+
* @returns 周数(1-53)
|
|
99
|
+
*/
|
|
100
|
+
declare function getWeekNumber(date: Date | number): number;
|
|
101
|
+
/**
|
|
102
|
+
* 获取季度(1-4)
|
|
103
|
+
* @param date - 日期对象或时间戳
|
|
104
|
+
* @returns 季度(1-4)
|
|
105
|
+
*/
|
|
106
|
+
declare function getQuarter(date: Date | number): number;
|
|
107
|
+
|
|
108
|
+
export { addDays, addMonths, addYears, diffDays, endOfDay, formatDate, getDateFormatByGMT, getQuarter, getRelativeTime, getTimeFromGMT, getWeekNumber, isToday, isWeekday, isWeekend, isYesterday, startOfDay };
|