@zwa73/utils 1.0.1 → 1.0.2
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/dist/UtilClass.d.ts +324 -0
- package/dist/UtilClass.js +582 -0
- package/dist/UtilCodecs.d.ts +3 -3
- package/dist/UtilCodecs.js +0 -2
- package/dist/UtilFunctions.d.ts +1 -8
- package/dist/UtilFunctions.js +1 -62
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +1 -1
- package/src/UtilClass.ts +646 -0
- package/src/UtilFunctions.ts +0 -64
- package/src/index.ts +2 -1
- package/test.bat +2 -0
- package/test.js +6 -0
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
type struct = number | string;
|
|
2
|
+
export declare class SList<T> {
|
|
3
|
+
private _arr;
|
|
4
|
+
constructor(obj?: Array<T> | number);
|
|
5
|
+
/**返回数组长度*/
|
|
6
|
+
size(): number;
|
|
7
|
+
/**获取指定下标的元素
|
|
8
|
+
* @param index 下标
|
|
9
|
+
*/
|
|
10
|
+
get(index: number): T;
|
|
11
|
+
/**设置指定下标的元素
|
|
12
|
+
* 返回自身 改变自身
|
|
13
|
+
* @param index 下标
|
|
14
|
+
* @param value 值
|
|
15
|
+
* @returns 自身
|
|
16
|
+
*/
|
|
17
|
+
set(index: number, value: T): SList<T>;
|
|
18
|
+
/**连接两个数组
|
|
19
|
+
* @param list 目标数组
|
|
20
|
+
* @returns 新数组
|
|
21
|
+
*/
|
|
22
|
+
concat(list: SList<T>): SList<T>;
|
|
23
|
+
/**在数组末尾添加一个元素
|
|
24
|
+
* 返回自身 改变自身
|
|
25
|
+
* @param value 值
|
|
26
|
+
*/
|
|
27
|
+
push(value: T): SList<T>;
|
|
28
|
+
/**在数组末尾添加一个数组
|
|
29
|
+
* 改变自身
|
|
30
|
+
* @param list 目标数组
|
|
31
|
+
* @returns 自身
|
|
32
|
+
*/
|
|
33
|
+
pushArr(list: SList<T>): this;
|
|
34
|
+
/**截取从起始点到结束点之前的一段数组
|
|
35
|
+
* @param strat 开始点
|
|
36
|
+
* @param end 结束点
|
|
37
|
+
* @returns 新数组
|
|
38
|
+
*/
|
|
39
|
+
slice(strat: number, end: number): SList<T>;
|
|
40
|
+
/**翻转数组
|
|
41
|
+
* 改变自身
|
|
42
|
+
* @returns 自身
|
|
43
|
+
*/
|
|
44
|
+
reverse(): SList<T>;
|
|
45
|
+
/**将SList转换为数组 */
|
|
46
|
+
toArray(): T[];
|
|
47
|
+
/**返回指定元素在数组中首次出现的位置
|
|
48
|
+
* @param value 目标元素
|
|
49
|
+
*/
|
|
50
|
+
indexOf(value: T): number;
|
|
51
|
+
/**返回指定元素在数组中最后一次出现的位置
|
|
52
|
+
* @param value 目标元素
|
|
53
|
+
*/
|
|
54
|
+
lastIndexOf(value: T): number;
|
|
55
|
+
/**判断数组中是否包含指定元素
|
|
56
|
+
* @param value 目标元素
|
|
57
|
+
*/
|
|
58
|
+
contains(value: T): boolean;
|
|
59
|
+
/**获取迭代器 */
|
|
60
|
+
iterator(): SIterator<T>;
|
|
61
|
+
/**从index开始删除count个元素
|
|
62
|
+
* 改变自身
|
|
63
|
+
* @param index 起始点
|
|
64
|
+
* @param count 数量
|
|
65
|
+
* @returns 自身
|
|
66
|
+
*/
|
|
67
|
+
removeRange(index: number, count: number): SList<T>;
|
|
68
|
+
/**删除对应下标下的元素
|
|
69
|
+
* 改变自身
|
|
70
|
+
* @param i 下标
|
|
71
|
+
* @returns 自身
|
|
72
|
+
*/
|
|
73
|
+
remove(i: number): SList<T>;
|
|
74
|
+
/**删除第一个匹配的项目(改变长度)
|
|
75
|
+
* 改变自身
|
|
76
|
+
* @param obj 需删除目标
|
|
77
|
+
* @returns 自身
|
|
78
|
+
*/
|
|
79
|
+
removeMember(obj: T): SList<T>;
|
|
80
|
+
/**删除所有匹配的项目
|
|
81
|
+
* 改变自身
|
|
82
|
+
* @param obj 需删除目标
|
|
83
|
+
* @returns 自身
|
|
84
|
+
*/
|
|
85
|
+
removeAllMember(obj: T): SList<T>;
|
|
86
|
+
/**在这个下标对应的元素前添加一个元素
|
|
87
|
+
* 改变自身
|
|
88
|
+
* @param index 下标
|
|
89
|
+
* @param obj 添加对象
|
|
90
|
+
* @returns 自身
|
|
91
|
+
*/
|
|
92
|
+
insert(index: number, obj: T): SList<T>;
|
|
93
|
+
/**在这个下标对应的元素前添加一组元素
|
|
94
|
+
* 改变自身
|
|
95
|
+
* @param index 下标
|
|
96
|
+
* @param obj 添加对象
|
|
97
|
+
* @returns 自身
|
|
98
|
+
*/
|
|
99
|
+
insertRange(index: number, obj: SList<T>): SList<T>;
|
|
100
|
+
/**克隆数组
|
|
101
|
+
* @returns 新数组
|
|
102
|
+
*/
|
|
103
|
+
clone(): SList<T>;
|
|
104
|
+
/**判断数组是否为空
|
|
105
|
+
*/
|
|
106
|
+
isEmpty(): boolean;
|
|
107
|
+
/**删除数组中的重复元素
|
|
108
|
+
* 改变自身
|
|
109
|
+
* @returns 自身
|
|
110
|
+
*/
|
|
111
|
+
removeDuplicates(): SList<T>;
|
|
112
|
+
/**交集
|
|
113
|
+
* @param lists 数组列表
|
|
114
|
+
* @returns 新数组
|
|
115
|
+
*/
|
|
116
|
+
intersection(...lists: SList<T>[]): SList<T>;
|
|
117
|
+
/**并集
|
|
118
|
+
* @param lists 数组列表
|
|
119
|
+
* @returns 新数组
|
|
120
|
+
*/
|
|
121
|
+
union(...lists: SList<T>[]): SList<T>;
|
|
122
|
+
/**返回符合条件的成员组成的新数组
|
|
123
|
+
* @param func 条件函数
|
|
124
|
+
* @returns 新数组
|
|
125
|
+
*/
|
|
126
|
+
filt(func: (value: T) => boolean): SList<T>;
|
|
127
|
+
/**遍历数组的每一个元素
|
|
128
|
+
* @param func 处理函数
|
|
129
|
+
* @returns 自身
|
|
130
|
+
*/
|
|
131
|
+
each(func: (value: T) => void): SList<T>;
|
|
132
|
+
/**对数组的每一个元素进行加工,返回加工完成的成员组成的新数组
|
|
133
|
+
* @param func 加工函数
|
|
134
|
+
* @returns 新数组
|
|
135
|
+
*/
|
|
136
|
+
map<O>(func: (value: T) => O): SList<O>;
|
|
137
|
+
/**对数组进行排序
|
|
138
|
+
* 如函数返回值大于 0 则将 x 排在 y 后面,小于 0 则将 x 排在 y 前面
|
|
139
|
+
* 改变自身
|
|
140
|
+
* @param func 比较函数
|
|
141
|
+
* @returns 自身
|
|
142
|
+
*/
|
|
143
|
+
sort(func: (a: T, b: T) => number): SList<T>;
|
|
144
|
+
/**对数组进行统计
|
|
145
|
+
* @param init 初始值
|
|
146
|
+
* @param func 统计函数
|
|
147
|
+
* @returns 结果
|
|
148
|
+
*/
|
|
149
|
+
stat<O>(init: O, func: (accumulator: O, currentValue: T) => O): O;
|
|
150
|
+
[Symbol.iterator](): {
|
|
151
|
+
next(): {
|
|
152
|
+
value: T | null;
|
|
153
|
+
done: boolean;
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
export declare class SIterator<T> {
|
|
158
|
+
_index: number;
|
|
159
|
+
_list: SList<T>;
|
|
160
|
+
constructor(list: SList<T>);
|
|
161
|
+
/**判断还有没有下一个元素
|
|
162
|
+
*/
|
|
163
|
+
hasNext(): boolean;
|
|
164
|
+
/**判断当前下标有无元素
|
|
165
|
+
*/
|
|
166
|
+
hasCurr(): boolean;
|
|
167
|
+
/**判断还有没有上一个元素
|
|
168
|
+
*/
|
|
169
|
+
hasPre(): boolean;
|
|
170
|
+
/**返回下一个下标指向的数组内成员,然后下标自加1
|
|
171
|
+
*/
|
|
172
|
+
next(): T;
|
|
173
|
+
/**返回上一个下标指向的数组内成员,然后下标自减1
|
|
174
|
+
*/
|
|
175
|
+
pre(): T;
|
|
176
|
+
/**返回当前下标指向的数组内成员
|
|
177
|
+
*/
|
|
178
|
+
curr(): T;
|
|
179
|
+
/**返回遍历长度
|
|
180
|
+
* @returns 遍历长度
|
|
181
|
+
*/
|
|
182
|
+
size(): number;
|
|
183
|
+
/**获取下个下标
|
|
184
|
+
* @returns 下个下标
|
|
185
|
+
*/
|
|
186
|
+
nextIndex(): number;
|
|
187
|
+
/**获取当前下标
|
|
188
|
+
* @returns 当前下标
|
|
189
|
+
*/
|
|
190
|
+
currIndex(): number;
|
|
191
|
+
/**获取上个下标
|
|
192
|
+
* @returns 上个下标
|
|
193
|
+
*/
|
|
194
|
+
preIndex(): number;
|
|
195
|
+
/**判断是否是最后一个
|
|
196
|
+
* @returns 是否是最后一个
|
|
197
|
+
*/
|
|
198
|
+
isLast(): boolean;
|
|
199
|
+
/**设置数组在迭代器当前下标中的内容
|
|
200
|
+
* @param val 要设置的值
|
|
201
|
+
*/
|
|
202
|
+
set(val: T): void;
|
|
203
|
+
/**删除数组在当前下标的内容,然后将下标移至上一位,改变数组长度
|
|
204
|
+
*/
|
|
205
|
+
remove(): void;
|
|
206
|
+
/**在当前下标前插入元素,然后将下标移至原元素,即下一位,改变数组长度
|
|
207
|
+
* @param obj 要插入的元素
|
|
208
|
+
*/
|
|
209
|
+
addPre(obj: T): void;
|
|
210
|
+
/**在当前下标后插入元素,然后将下标移至新元素,即下一位,改变数组长度
|
|
211
|
+
* @param obj 要插入的元素
|
|
212
|
+
*/
|
|
213
|
+
addNext(obj: T): void;
|
|
214
|
+
}
|
|
215
|
+
export declare class SEntry<K extends struct, V> {
|
|
216
|
+
_key: K;
|
|
217
|
+
_value: V;
|
|
218
|
+
constructor(key: K, value: V);
|
|
219
|
+
getKey(): K;
|
|
220
|
+
getValue(): V;
|
|
221
|
+
}
|
|
222
|
+
export declare class SHashMap<K extends struct, V> {
|
|
223
|
+
_obj: Record<K, V>;
|
|
224
|
+
constructor();
|
|
225
|
+
/**添加一个键值对
|
|
226
|
+
* @param entry 键值对
|
|
227
|
+
* @returns 自身
|
|
228
|
+
*/
|
|
229
|
+
putEntry(entry: SEntry<K, V>): SHashMap<K, V>;
|
|
230
|
+
/**获取指定键的值
|
|
231
|
+
* @param key 键
|
|
232
|
+
* @returns 值
|
|
233
|
+
*/
|
|
234
|
+
get(key: K): V | null;
|
|
235
|
+
/**添加一个键值对
|
|
236
|
+
* @param key 键
|
|
237
|
+
* @param value 值
|
|
238
|
+
* @returns 自身
|
|
239
|
+
*/
|
|
240
|
+
put(key: K, value: V): SHashMap<K, V>;
|
|
241
|
+
/**判断是否存在指定键
|
|
242
|
+
* @param key 键
|
|
243
|
+
* @returns 是否存在
|
|
244
|
+
*/
|
|
245
|
+
has(key: K): boolean;
|
|
246
|
+
/**获取所有键值对
|
|
247
|
+
* @returns 键值对列表
|
|
248
|
+
*/
|
|
249
|
+
entrys(): SList<SEntry<K, V>>;
|
|
250
|
+
/**获取所有键
|
|
251
|
+
* @returns 键列表
|
|
252
|
+
*/
|
|
253
|
+
keys(): SList<K>;
|
|
254
|
+
/**获取所有值
|
|
255
|
+
* @returns 值列表
|
|
256
|
+
*/
|
|
257
|
+
values(): SList<V>;
|
|
258
|
+
/**获取迭代器
|
|
259
|
+
* @returns 迭代器
|
|
260
|
+
*/
|
|
261
|
+
iterator(): SIterator<SEntry<K, V>>;
|
|
262
|
+
/**删除指定键的键值对
|
|
263
|
+
* @param key 键
|
|
264
|
+
* @returns 删除的值
|
|
265
|
+
*/
|
|
266
|
+
remove(key: K): V;
|
|
267
|
+
/**清空哈希表
|
|
268
|
+
* @returns 自身
|
|
269
|
+
*/
|
|
270
|
+
clear(): SHashMap<K, V>;
|
|
271
|
+
/**判断哈希表是否为空
|
|
272
|
+
* @returns 是否为空
|
|
273
|
+
*/
|
|
274
|
+
isEmpty(): boolean;
|
|
275
|
+
/**判断是否存在指定值
|
|
276
|
+
* @param val 值
|
|
277
|
+
* @returns 是否存在
|
|
278
|
+
*/
|
|
279
|
+
containsValue(val: V): boolean;
|
|
280
|
+
/**判断是否存在指定键
|
|
281
|
+
* @param key 键
|
|
282
|
+
* @returns 是否存在
|
|
283
|
+
*/
|
|
284
|
+
containsKey(key: K): boolean;
|
|
285
|
+
/**加载指定键的值,若不存在则添加默认值并返回默认值
|
|
286
|
+
* @param key 键
|
|
287
|
+
* @param def 默认值
|
|
288
|
+
* @returns 值或默认值
|
|
289
|
+
*/
|
|
290
|
+
load(key: K, def: V): V;
|
|
291
|
+
/**合并另一个哈希表,可选择是否覆盖已有键值对
|
|
292
|
+
* @param nmap 另一个哈希表
|
|
293
|
+
* @param isCover 是否覆盖已有键值对,默认为 true
|
|
294
|
+
* @returns 自身
|
|
295
|
+
*/
|
|
296
|
+
merge(nmap: SHashMap<K, V>, isCover?: boolean): SHashMap<K, V>;
|
|
297
|
+
/**获取哈希表大小(键的数量)
|
|
298
|
+
* @returns 大小(键的数量)
|
|
299
|
+
*/
|
|
300
|
+
size(): number;
|
|
301
|
+
/**对哈希表的每一个键值对进行加工,返回加工完成的键值对组成的新哈希表
|
|
302
|
+
* @param func 加工函数
|
|
303
|
+
* @returns 新哈希表
|
|
304
|
+
*/
|
|
305
|
+
map<OK extends struct, OV>(func: (entry: SEntry<K, V>) => SEntry<OK, OV>): SHashMap<OK, OV>;
|
|
306
|
+
/**返回符合条件的键值对组成的新哈希表
|
|
307
|
+
* @param func 条件函数
|
|
308
|
+
* @returns 新哈希表
|
|
309
|
+
*/
|
|
310
|
+
filt(func: (entry: SEntry<K, V>) => boolean): SHashMap<K, V>;
|
|
311
|
+
/**遍历哈希表的每一个键值对
|
|
312
|
+
* @param func 处理函数
|
|
313
|
+
* @returns 自身
|
|
314
|
+
*/
|
|
315
|
+
each(func: (entry: SEntry<K, V>) => void): SHashMap<K, V>;
|
|
316
|
+
/**
|
|
317
|
+
* 对哈希表进行统计
|
|
318
|
+
* @param init 初始值
|
|
319
|
+
* @param func 统计函数
|
|
320
|
+
* @returns 结果
|
|
321
|
+
*/
|
|
322
|
+
stat<O>(init: O, func: (accumulator: O, entry: SEntry<K, V>) => O): O;
|
|
323
|
+
}
|
|
324
|
+
export {};
|