esexts 1.4.3 → 1.5.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.
- package/dist/esexts.js +273 -189
- package/dist/esexts.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/esexts.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
function
|
|
1
|
+
function h(t, e) {
|
|
2
2
|
return Object.defineProperties(t, Object.fromEntries(Object.keys(e).map((n) => [n, { value: e[n], enumerable: !1, configurable: !0, writable: !0 }])));
|
|
3
3
|
}
|
|
4
|
-
function
|
|
4
|
+
function d() {
|
|
5
5
|
return {
|
|
6
6
|
new: function(...t) {
|
|
7
7
|
return new this(...t);
|
|
8
8
|
}
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
-
function
|
|
11
|
+
function b(...t) {
|
|
12
12
|
const e = {};
|
|
13
13
|
for (const [n, r] of t)
|
|
14
14
|
e[r] = function() {
|
|
@@ -16,99 +16,126 @@ function d(...t) {
|
|
|
16
16
|
};
|
|
17
17
|
return e;
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
const
|
|
21
|
-
for (const [
|
|
22
|
-
e
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
function
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
e
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
19
|
+
function f(t, e, n, ...r) {
|
|
20
|
+
const i = {};
|
|
21
|
+
for (const [u, s] of r) {
|
|
22
|
+
if (e === null && n === null) {
|
|
23
|
+
i[s] = function(...o) {
|
|
24
|
+
return t[u].apply(this, o);
|
|
25
|
+
};
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
if (e === null && n === !1) {
|
|
29
|
+
i[s] = function(...o) {
|
|
30
|
+
return t[u].apply(this, o), this;
|
|
31
|
+
};
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (e === null && n === !0) {
|
|
35
|
+
i[s] = function(...o) {
|
|
36
|
+
return t[u].apply(this, o), o;
|
|
37
|
+
};
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (e === null && n > 0) {
|
|
41
|
+
i[s] = function(...o) {
|
|
42
|
+
return t[u].apply(this, o), o[n - 1];
|
|
43
|
+
};
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (e === null && n < 0) {
|
|
47
|
+
i[s] = function(...o) {
|
|
48
|
+
return t[u].apply(this, o), o[o.length + n + 1];
|
|
49
|
+
};
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (e !== null && n === null) {
|
|
53
|
+
i[s] = function(...o) {
|
|
54
|
+
return o.splice(e > 0 ? e - 1 : o.length + e + 1, 0, this), t[u].apply(this, o);
|
|
55
|
+
};
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (e !== null && n === !1) {
|
|
59
|
+
i[s] = function(...o) {
|
|
60
|
+
return o.splice(e > 0 ? e - 1 : o.length + e + 1, 0, this), t[u].apply(this, o), this;
|
|
61
|
+
};
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (e !== null && n === !0) {
|
|
65
|
+
i[s] = function(...o) {
|
|
66
|
+
return o.splice(e > 0 ? e - 1 : o.length + e + 1, 0, this), t[u].apply(this, o), o;
|
|
67
|
+
};
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (e !== null && n > 0) {
|
|
71
|
+
i[s] = function(...o) {
|
|
72
|
+
return o.splice(e > 0 ? e - 1 : o.length + e + 1, 0, this), t[u].apply(this, o), o[n - 1];
|
|
73
|
+
};
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (e !== null && n < 0) {
|
|
77
|
+
i[s] = function(...o) {
|
|
78
|
+
return o.splice(e > 0 ? e - 1 : o.length + e + 1, 0, this), t[u].apply(this, o), o[o.length + n + 1];
|
|
79
|
+
};
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
throw Error("unreachable");
|
|
83
|
+
}
|
|
84
|
+
return i;
|
|
58
85
|
}
|
|
59
|
-
function
|
|
86
|
+
function m(t, ...e) {
|
|
60
87
|
const n = {};
|
|
61
88
|
for (const [r, i] of e)
|
|
62
|
-
n[i] = function(...
|
|
63
|
-
return t[r](this,
|
|
89
|
+
n[i] = function(...u) {
|
|
90
|
+
return [...t[r].apply(this, u)];
|
|
64
91
|
};
|
|
65
92
|
return n;
|
|
66
93
|
}
|
|
67
94
|
function M(t = { array: !1 }) {
|
|
68
95
|
return function(e = {}, ...n) {
|
|
69
|
-
const r = (i,
|
|
70
|
-
const
|
|
71
|
-
if (
|
|
72
|
-
return
|
|
73
|
-
if (
|
|
74
|
-
return t.array ? i.concat(...
|
|
75
|
-
if (
|
|
76
|
-
for (const
|
|
77
|
-
i[
|
|
96
|
+
const r = (i, u) => {
|
|
97
|
+
const s = Object.prototype.toString.call(i), o = Object.prototype.toString.call(u);
|
|
98
|
+
if (s !== o)
|
|
99
|
+
return u;
|
|
100
|
+
if (s === "[object Array]")
|
|
101
|
+
return t.array ? i.concat(...u) : u;
|
|
102
|
+
if (s === "[object Object]") {
|
|
103
|
+
for (const l in u)
|
|
104
|
+
i[l] = r(i[l], u[l]);
|
|
78
105
|
return i;
|
|
79
106
|
} else
|
|
80
|
-
return
|
|
107
|
+
return u;
|
|
81
108
|
};
|
|
82
109
|
for (const i of n)
|
|
83
110
|
e = r(e, i);
|
|
84
111
|
return e;
|
|
85
112
|
};
|
|
86
113
|
}
|
|
87
|
-
const
|
|
88
|
-
|
|
114
|
+
const F = M({ array: !1 }), D = M({ array: !0 });
|
|
115
|
+
h(Object, {
|
|
89
116
|
isObject: function(t) {
|
|
90
117
|
return Object.prototype.toString.call(t) === "[object Object]";
|
|
91
118
|
},
|
|
92
119
|
merge0: function(...t) {
|
|
93
|
-
return
|
|
120
|
+
return F(this, ...t);
|
|
94
121
|
},
|
|
95
122
|
concat0: function(...t) {
|
|
96
|
-
return
|
|
123
|
+
return D(this, ...t);
|
|
97
124
|
}
|
|
98
125
|
});
|
|
99
|
-
|
|
126
|
+
h(Object.prototype, {
|
|
100
127
|
clone0: function() {
|
|
101
128
|
return JSON.parse(JSON.stringify(this));
|
|
102
129
|
},
|
|
103
130
|
length0: function() {
|
|
104
131
|
return Object.keys(this).length;
|
|
105
132
|
},
|
|
106
|
-
...
|
|
133
|
+
...f(Object, 1, null, ["entries", "entries0"], ["keys", "keys0"], ["values", "values0"], ["assign", "assign0"]),
|
|
107
134
|
merge0: function(...t) {
|
|
108
|
-
return
|
|
135
|
+
return F(this, ...t);
|
|
109
136
|
},
|
|
110
137
|
concat0: function(...t) {
|
|
111
|
-
return
|
|
138
|
+
return D(this, ...t);
|
|
112
139
|
},
|
|
113
140
|
map0: function(t = (n, r, i) => [n, r], e = 0) {
|
|
114
141
|
return Object.entries(this).map(([n, r]) => t(n, r, e++));
|
|
@@ -125,13 +152,21 @@ u(Object.prototype, {
|
|
|
125
152
|
n.has(r) || (e[r] = this[r]);
|
|
126
153
|
return e;
|
|
127
154
|
},
|
|
155
|
+
empty0: function(...t) {
|
|
156
|
+
return Object.keys(this).length == 0;
|
|
157
|
+
},
|
|
128
158
|
attr0: function(t, ...e) {
|
|
129
|
-
return typeof this != "object" ? this : typeof t == "function" ? t(this, ...e) : this[t];
|
|
159
|
+
return typeof this != "object" ? this : typeof t == "function" ? t(this, ...e) : e.length > 0 ? ((e[1] === void 0 || e[1] === t in this) && (this[t] = e[0]), this) : this[t];
|
|
130
160
|
},
|
|
131
161
|
toArray0: function() {
|
|
132
162
|
return Array.isArray(this) ? this : [this];
|
|
133
163
|
},
|
|
134
|
-
...
|
|
164
|
+
...f(console, -1, !1, ["debug", "debug0"], ["log", "log0"], ["info", "info0"], ["warn", "warn0"], ["error", "error0"], ["dir", "dir0"]),
|
|
165
|
+
debugger0: function(...t) {
|
|
166
|
+
t.push(this), console.debug(...t);
|
|
167
|
+
debugger;
|
|
168
|
+
return this;
|
|
169
|
+
},
|
|
135
170
|
// ====== Tree ======
|
|
136
171
|
getParents0: function(t = !1, e = -1, n = "parent") {
|
|
137
172
|
const r = t ? [this] : [];
|
|
@@ -141,10 +176,10 @@ u(Object.prototype, {
|
|
|
141
176
|
return r;
|
|
142
177
|
},
|
|
143
178
|
getChildrens0: function(t = !1, e = -1, n = "children") {
|
|
144
|
-
const r = [], i = (s, o
|
|
145
|
-
if (
|
|
146
|
-
for (const
|
|
147
|
-
i(
|
|
179
|
+
const r = [], i = (u, s, o) => {
|
|
180
|
+
if (s && r.push(u), !(o == 0 || !u[n] || u[n].length == 0))
|
|
181
|
+
for (const l of u[n])
|
|
182
|
+
i(l, !0, o - 1);
|
|
148
183
|
};
|
|
149
184
|
return i(this, t, e), r;
|
|
150
185
|
},
|
|
@@ -154,9 +189,9 @@ u(Object.prototype, {
|
|
|
154
189
|
if (n == 0 || !this[r] || this[r].length == 0)
|
|
155
190
|
return null;
|
|
156
191
|
for (const i of this[r]) {
|
|
157
|
-
const
|
|
158
|
-
if (
|
|
159
|
-
return
|
|
192
|
+
const u = i.treeFind0(t, !0, n - 1, r);
|
|
193
|
+
if (u !== null)
|
|
194
|
+
return u;
|
|
160
195
|
}
|
|
161
196
|
return null;
|
|
162
197
|
},
|
|
@@ -168,39 +203,70 @@ u(Object.prototype, {
|
|
|
168
203
|
}
|
|
169
204
|
},
|
|
170
205
|
treeMap0: function(t, e = !0, n = -1, r = "children", i = null) {
|
|
171
|
-
const
|
|
206
|
+
const u = e ? t(this) : this, s = [];
|
|
172
207
|
if (n == 0 || !this[r] || this[r].length == 0)
|
|
173
|
-
return
|
|
174
|
-
for (const
|
|
175
|
-
|
|
176
|
-
return
|
|
208
|
+
return u;
|
|
209
|
+
for (const o of this[r])
|
|
210
|
+
s.push(o.treeMap0(t, !0, n - 1, r, i));
|
|
211
|
+
return u[r] = s, u;
|
|
177
212
|
}
|
|
178
213
|
});
|
|
179
|
-
|
|
180
|
-
...
|
|
214
|
+
h(Number.prototype, {
|
|
215
|
+
...f(Math, 1, null, ["ceil", "ceil"], ["floor", "floor"], ["trunc", "trunc"], ["abs", "abs"], ["max", "max"], ["min", "min"]),
|
|
216
|
+
round: function(t = 0) {
|
|
217
|
+
return Math.round(this * 10 ** t) / 10 ** t;
|
|
218
|
+
},
|
|
219
|
+
add: function(t) {
|
|
220
|
+
return this + t;
|
|
221
|
+
},
|
|
222
|
+
sub: function(t) {
|
|
223
|
+
return this - t;
|
|
224
|
+
},
|
|
225
|
+
mul: function(t) {
|
|
226
|
+
return this * t;
|
|
227
|
+
},
|
|
228
|
+
div: function(t) {
|
|
229
|
+
return this * t;
|
|
230
|
+
},
|
|
181
231
|
baseConvert: function(t = 64) {
|
|
182
232
|
let e = "", n = this, r = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";
|
|
183
233
|
for (; n > 0; )
|
|
184
234
|
e = r.at(n % t) + e, n = Math.floor(n / t);
|
|
185
235
|
return e || "0";
|
|
186
236
|
},
|
|
187
|
-
|
|
188
|
-
|
|
237
|
+
unit: function(t, e = 0) {
|
|
238
|
+
let n = this, r = "";
|
|
239
|
+
for ([unit, size] of Object.entries(t)) {
|
|
240
|
+
if (r = unit, size === 0 || n < size)
|
|
241
|
+
break;
|
|
242
|
+
n = n / size;
|
|
243
|
+
}
|
|
244
|
+
return e < 0 ? +n.toFixed(0 - e) + r : n.toFixed(e) + r;
|
|
245
|
+
},
|
|
246
|
+
units: function(t, e = !1) {
|
|
247
|
+
let n = this, r = [];
|
|
248
|
+
for ([unit, size] of Object.entries(t))
|
|
249
|
+
if (size == 0 || n < size) {
|
|
250
|
+
r.push([n, unit]);
|
|
251
|
+
break;
|
|
252
|
+
} else
|
|
253
|
+
r.push([n % size, unit]), n = Math.floor(n / size);
|
|
254
|
+
return e ? r : r.reverse().map(([i, u]) => i + u).join("");
|
|
189
255
|
},
|
|
190
|
-
toFixed0: function(
|
|
191
|
-
return +this.toFixed(
|
|
256
|
+
toFixed0: function(t = 0) {
|
|
257
|
+
return +this.toFixed(t);
|
|
192
258
|
},
|
|
193
259
|
toDate: function() {
|
|
194
260
|
return Date.new(this);
|
|
195
261
|
}
|
|
196
262
|
});
|
|
197
|
-
|
|
263
|
+
h(BigInt.prototype, {
|
|
198
264
|
toJSON: function() {
|
|
199
265
|
return this < BigInt(Number.MIN_SAFE_INTEGER) || this > BigInt(Number.MAX_SAFE_INTEGER) ? this.toString() : Number(this);
|
|
200
266
|
}
|
|
201
267
|
});
|
|
202
|
-
|
|
203
|
-
...
|
|
268
|
+
h(String.prototype, {
|
|
269
|
+
...b(["length", "length0"]),
|
|
204
270
|
substring0: function(t = 0, e = this.length) {
|
|
205
271
|
return t = t >= 0 ? t : this.length + t, e = e >= 0 ? e : this.length + e, this.substring(t, e);
|
|
206
272
|
},
|
|
@@ -227,16 +293,16 @@ u(String.prototype, {
|
|
|
227
293
|
return e;
|
|
228
294
|
},
|
|
229
295
|
subOf: function(t, e, n = 0, r = 0) {
|
|
230
|
-
for (let
|
|
296
|
+
for (let s = 0; s < n && r != -1; s++, r++)
|
|
231
297
|
r = this.indexOf(t, r);
|
|
232
|
-
let i = this.indexOf(t, r),
|
|
233
|
-
return i == -1 ||
|
|
298
|
+
let i = this.indexOf(t, r), u = this.indexOf(e, i);
|
|
299
|
+
return i == -1 || u == -1 ? "" : (i += t.length, this.substring(i, u));
|
|
234
300
|
},
|
|
235
301
|
lastSubOf: function(t, e, n = 0, r = 1 / 0) {
|
|
236
|
-
for (let
|
|
302
|
+
for (let s = 0; s < n && r != -1; s++, r--)
|
|
237
303
|
r = this.lastIndexOf(t, r);
|
|
238
|
-
let i = this.lastIndexOf(t, r),
|
|
239
|
-
return i == -1 ||
|
|
304
|
+
let i = this.lastIndexOf(t, r), u = this.indexOf(e, i);
|
|
305
|
+
return i == -1 || u == -1 ? "" : (i += t.length, this.substring(i, u));
|
|
240
306
|
},
|
|
241
307
|
camel2under: function() {
|
|
242
308
|
return this.substr(0, 1) + this.substr(1).replace(/([A-Z])/g, (t, e) => "_" + e.toLowerCase());
|
|
@@ -278,15 +344,15 @@ u(String.prototype, {
|
|
|
278
344
|
return Uint8Array.fromBase64(this);
|
|
279
345
|
}
|
|
280
346
|
});
|
|
281
|
-
|
|
282
|
-
...
|
|
347
|
+
h(Array, {
|
|
348
|
+
...d()
|
|
283
349
|
});
|
|
284
|
-
|
|
285
|
-
...
|
|
286
|
-
...
|
|
287
|
-
...
|
|
288
|
-
...
|
|
289
|
-
...
|
|
350
|
+
h(Array.prototype, {
|
|
351
|
+
...b(["length", "length0"]),
|
|
352
|
+
...m(Array.prototype, ["entries", "entries0"], ["keys", "keys0"], ["values", "values0"]),
|
|
353
|
+
...f(Array.prototype, null, !1, ["push", "push0"], ["pop", "pop0"], ["shift", "shift0"], ["unshift", "unshift0"]),
|
|
354
|
+
...f(Array.prototype, null, 1, ["push", "push1"], ["unshift", "unshift1"]),
|
|
355
|
+
...f(Array.prototype, null, !0, ["push", "push3"], ["unshift", "unshift3"]),
|
|
290
356
|
first0: function(t = null) {
|
|
291
357
|
return this.length ? this[0] : t;
|
|
292
358
|
},
|
|
@@ -303,9 +369,17 @@ u(Array.prototype, {
|
|
|
303
369
|
const e = /* @__PURE__ */ new Set();
|
|
304
370
|
return this.filter((n) => e.has(t(n)) ? !1 : !!e.add(t(n)));
|
|
305
371
|
},
|
|
306
|
-
...
|
|
307
|
-
|
|
308
|
-
|
|
372
|
+
...f(Array.prototype, null, !1, ["forEach", "each0"]),
|
|
373
|
+
eachAsync: async function(t) {
|
|
374
|
+
for (let e = 0; e < this.length; e++)
|
|
375
|
+
await t(this[e], e, this);
|
|
376
|
+
return this;
|
|
377
|
+
},
|
|
378
|
+
mapAsync: async function(t) {
|
|
379
|
+
const e = [];
|
|
380
|
+
for (let n = 0; n < this.length; n++)
|
|
381
|
+
e.push(await t(this[n], n, this));
|
|
382
|
+
return e;
|
|
309
383
|
},
|
|
310
384
|
toMap: function(t = (e, n) => [n, e]) {
|
|
311
385
|
return new Map(this.map(t));
|
|
@@ -313,20 +387,6 @@ u(Array.prototype, {
|
|
|
313
387
|
toSet: function(t = (e) => e) {
|
|
314
388
|
return new Set(this.map(t));
|
|
315
389
|
},
|
|
316
|
-
toGroup: function(t = (e) => [e.id, e]) {
|
|
317
|
-
const e = {};
|
|
318
|
-
for (const n of this) {
|
|
319
|
-
const [r, i] = t(n);
|
|
320
|
-
r in e || (e[r] = []), e[r].push(i);
|
|
321
|
-
}
|
|
322
|
-
return e;
|
|
323
|
-
},
|
|
324
|
-
toMerge: function(t = (r) => r.id, e = (r) => ({ ...r, children: [] }), n = (r, i) => r.children.push(i)) {
|
|
325
|
-
const r = [];
|
|
326
|
-
for (const i of this)
|
|
327
|
-
n(r.find((s) => t(s) == t(i)) ?? r.push1(e(i)), i);
|
|
328
|
-
return r;
|
|
329
|
-
},
|
|
330
390
|
bytes2string: function() {
|
|
331
391
|
return this.toUint8Array().bytes2string();
|
|
332
392
|
},
|
|
@@ -339,37 +399,59 @@ u(Array.prototype, {
|
|
|
339
399
|
toUint8Array: function() {
|
|
340
400
|
return new Uint8Array(this);
|
|
341
401
|
},
|
|
402
|
+
// ====== from pinojs ======
|
|
403
|
+
range: function(...t) {
|
|
404
|
+
let e = [], n = 0, r = 0, i = 1, u = typeof t[t.length - 1] == "boolean" ? t.pop() : !0, s = typeof t[t.length - 1] == "function" ? t.pop() : (o, l, g) => o;
|
|
405
|
+
switch (t.length) {
|
|
406
|
+
case 1:
|
|
407
|
+
[r] = t;
|
|
408
|
+
break;
|
|
409
|
+
case 2:
|
|
410
|
+
[n, r] = t;
|
|
411
|
+
break;
|
|
412
|
+
case 3:
|
|
413
|
+
[n, r, i] = t;
|
|
414
|
+
break;
|
|
415
|
+
default:
|
|
416
|
+
throw new Error("the number of parameters is incorrect!");
|
|
417
|
+
}
|
|
418
|
+
if (i == 0)
|
|
419
|
+
throw new Error("step cannot be 0!");
|
|
420
|
+
for (let o = 0, l = 0, g = Math.abs(r - n), a = Math.abs(i), p = n <= r ? 1 : -1; l < g; l += a)
|
|
421
|
+
e.push(u ? s(n + l * p, o++, e) : s());
|
|
422
|
+
return e;
|
|
423
|
+
},
|
|
342
424
|
// ====== Relational ======
|
|
343
425
|
assoc: function(t, e, n = {}) {
|
|
344
|
-
const r = this.unique0((
|
|
345
|
-
return this.each0((
|
|
426
|
+
const r = this.unique0((u) => u[t]), i = r.length == 0 ? {} : typeof n == "function" ? n(r) : n;
|
|
427
|
+
return this.each0((u) => u[e] = i[u[t]] ?? null);
|
|
346
428
|
},
|
|
347
429
|
// ====== Tree ======
|
|
348
430
|
toTree: function(t = {}) {
|
|
349
|
-
const { id: e = "id", pid: n = "pid", level: r = "level", root: i = "root", parent:
|
|
350
|
-
|
|
351
|
-
for (const
|
|
352
|
-
|
|
353
|
-
[i]: { value:
|
|
354
|
-
[
|
|
355
|
-
}),
|
|
356
|
-
return
|
|
431
|
+
const { id: e = "id", pid: n = "pid", level: r = "level", root: i = "root", parent: u = "parent", children: s = "children", empty: o = null, hasRoot: l = !0 } = t, g = this.reduce((c, y) => c.attr0(y[e], y), {}), a = this.reduce((c, y) => (c.attr0(y[n], [], !1).attr0(y[n]).push0(y), c), {}), p = this.length && l ? this.find((c) => c[n] === 0) : { [e]: 0, [n]: -1, [i]: null, [u]: null, [s]: a[0] };
|
|
432
|
+
h(p, { [i]: { value: p, enumerable: !1, configurable: !0, writable: !0 } });
|
|
433
|
+
for (const c of this)
|
|
434
|
+
h(c, {
|
|
435
|
+
[i]: { value: p, enumerable: !1, configurable: !0, writable: !0 },
|
|
436
|
+
[u]: { value: g[c[n]], enumerable: !1, configurable: !0, writable: !0 }
|
|
437
|
+
}), c[s] = a[c[e]] || o;
|
|
438
|
+
return p.treeEach0((c) => c[r] = c[u] ? c[u][r] + 1 : 0, -1, s), p;
|
|
357
439
|
},
|
|
358
440
|
tree2tree: function(t = {}, e = null, n = null) {
|
|
359
|
-
const { id: r = "id", pid: i = "pid", level:
|
|
360
|
-
e = e || { [r]: 0, [i]: -1, [
|
|
361
|
-
for (const
|
|
362
|
-
|
|
363
|
-
[
|
|
364
|
-
[
|
|
365
|
-
}),
|
|
441
|
+
const { id: r = "id", pid: i = "pid", level: u = "level", root: s = "root", parent: o = "parent", children: l = "children", empty: g = null } = t;
|
|
442
|
+
e = e || { [r]: 0, [i]: -1, [u]: 0, [s]: null, [o]: null, [l]: this }, n = n || e;
|
|
443
|
+
for (const a of this)
|
|
444
|
+
h(a, {
|
|
445
|
+
[s]: { value: e, enumerable: !1, configurable: !0, writable: !0 },
|
|
446
|
+
[o]: { value: n, enumerable: !1, configurable: !0, writable: !0 }
|
|
447
|
+
}), a[i] = n[r], a[u] = n[u] + 1, a[l] = a[l] && a[l].length ? a[l] : g, a[l]?.tree2tree(t, e, a);
|
|
366
448
|
return e;
|
|
367
449
|
},
|
|
368
450
|
treeFind0: function(t, e = !0, n = -1, r = "children") {
|
|
369
451
|
for (const i of this) {
|
|
370
|
-
const
|
|
371
|
-
if (
|
|
372
|
-
return
|
|
452
|
+
const u = i.treeFind0(t, e, n, r);
|
|
453
|
+
if (u !== null)
|
|
454
|
+
return u;
|
|
373
455
|
}
|
|
374
456
|
return null;
|
|
375
457
|
},
|
|
@@ -379,17 +461,18 @@ u(Array.prototype, {
|
|
|
379
461
|
return this;
|
|
380
462
|
},
|
|
381
463
|
treeMap0: function(t, e = !0, n = -1, r = "children", i = null) {
|
|
382
|
-
return this.map((
|
|
464
|
+
return this.map((u) => u.treeMap0(t, e, n, r, i));
|
|
383
465
|
}
|
|
384
466
|
});
|
|
385
|
-
|
|
386
|
-
...
|
|
467
|
+
h(Map, {
|
|
468
|
+
...d()
|
|
387
469
|
});
|
|
388
|
-
|
|
389
|
-
...
|
|
390
|
-
...
|
|
391
|
-
...
|
|
392
|
-
...
|
|
470
|
+
h(Map.prototype, {
|
|
471
|
+
...b(["size", "length0"]),
|
|
472
|
+
...m(Map.prototype, ["entries", "entries0"], ["keys", "keys0"], ["values", "values0"]),
|
|
473
|
+
...f(Map.prototype, null, !1, ["set", "set0"], ["delete", "delete0"]),
|
|
474
|
+
...f(Map.prototype, null, 1, ["set", "set1"], ["delete", "delete1"]),
|
|
475
|
+
...f(Map.prototype, null, !0, ["set", "set3"], ["delete", "delete3"]),
|
|
393
476
|
get0: function(t, e = null) {
|
|
394
477
|
return this.has(t) ? this.get(t) : e;
|
|
395
478
|
},
|
|
@@ -409,14 +492,15 @@ u(Map.prototype, {
|
|
|
409
492
|
return [...this];
|
|
410
493
|
}
|
|
411
494
|
});
|
|
412
|
-
|
|
413
|
-
...
|
|
495
|
+
h(Set, {
|
|
496
|
+
...d()
|
|
414
497
|
});
|
|
415
|
-
|
|
416
|
-
...
|
|
417
|
-
...
|
|
418
|
-
...
|
|
419
|
-
...
|
|
498
|
+
h(Set.prototype, {
|
|
499
|
+
...b(["size", "length0"]),
|
|
500
|
+
...m(Set.prototype, ["entries", "entries0"], ["keys", "keys0"], ["values", "values0"]),
|
|
501
|
+
...f(Set.prototype, null, !1, ["add", "add0"], ["delete", "delete0"]),
|
|
502
|
+
...f(Set.prototype, null, 1, ["add", "add1"], ["delete", "delete1"]),
|
|
503
|
+
...f(Set.prototype, null, !0, ["add", "add3"], ["delete", "delete3"]),
|
|
420
504
|
toArray: function() {
|
|
421
505
|
return [...this];
|
|
422
506
|
},
|
|
@@ -424,7 +508,7 @@ u(Set.prototype, {
|
|
|
424
508
|
return [...this];
|
|
425
509
|
}
|
|
426
510
|
});
|
|
427
|
-
|
|
511
|
+
h(Date, {
|
|
428
512
|
new: function(...t) {
|
|
429
513
|
return t.length != 1 ? new Date(...t) : Number.isNaN(+t[0]) ? new Date(t[0].includes("T") ? t[0] : t[0].replace(/-/g, "/")) : new Date(t[0] > 25e8 ? t[0] : t[0] * 1e3);
|
|
430
514
|
},
|
|
@@ -460,7 +544,7 @@ u(Date, {
|
|
|
460
544
|
return [n, r];
|
|
461
545
|
}
|
|
462
546
|
});
|
|
463
|
-
|
|
547
|
+
h(Date.prototype, {
|
|
464
548
|
format: function(t = "y-m-d h:i:s") {
|
|
465
549
|
if (this.getTime() === 0)
|
|
466
550
|
return "-";
|
|
@@ -485,9 +569,9 @@ u(Date.prototype, {
|
|
|
485
569
|
getMonthDay: function() {
|
|
486
570
|
return [31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][this.getMonth()] || (this.isLeapYear() ? 29 : 28);
|
|
487
571
|
},
|
|
488
|
-
expr: function({ y: t = 0, m: e = 0, d: n = 0, h: r = 0, i = 0, s = 0 }) {
|
|
489
|
-
const
|
|
490
|
-
return new Date(this.getFullYear() + t, this.getMonth() + e, Math.min(
|
|
572
|
+
expr: function({ y: t = 0, m: e = 0, d: n = 0, h: r = 0, i = 0, s: u = 0 }) {
|
|
573
|
+
const s = new Date(this.getFullYear() + t, this.getMonth() + e + 1, 0);
|
|
574
|
+
return new Date(this.getFullYear() + t, this.getMonth() + e, Math.min(s.getDate(), this.getDate()) + n, this.getHours() + r, this.getMinutes() + i, this.getSeconds() + u);
|
|
491
575
|
},
|
|
492
576
|
begin: function(t = 3) {
|
|
493
577
|
return new Date(...[this.getFullYear(), this.getMonth(), this.getDate(), this.getHours(), this.getMinutes(), this.getSeconds()].slice(0, t), ...[this.getFullYear(), 0, 1, 0, 0, 0].slice(t));
|
|
@@ -505,15 +589,15 @@ u(Date.prototype, {
|
|
|
505
589
|
return this.getTime();
|
|
506
590
|
}
|
|
507
591
|
});
|
|
508
|
-
|
|
509
|
-
...
|
|
592
|
+
h(RegExp, {
|
|
593
|
+
...d()
|
|
510
594
|
});
|
|
511
|
-
|
|
595
|
+
h(RegExp.prototype, {
|
|
512
596
|
toJSON: function() {
|
|
513
597
|
return this.toString();
|
|
514
598
|
}
|
|
515
599
|
});
|
|
516
|
-
|
|
600
|
+
h(Promise, {
|
|
517
601
|
channel: function() {
|
|
518
602
|
let t = null, e = null;
|
|
519
603
|
return [new this((r, i) => {
|
|
@@ -521,12 +605,12 @@ u(Promise, {
|
|
|
521
605
|
}), t, e];
|
|
522
606
|
}
|
|
523
607
|
});
|
|
524
|
-
|
|
608
|
+
h(Promise.prototype, {
|
|
525
609
|
tryCatch: function() {
|
|
526
610
|
return new Promise((t) => this.then((e) => t([e, null])).catch((e) => t([null, e])));
|
|
527
611
|
}
|
|
528
612
|
});
|
|
529
|
-
|
|
613
|
+
h(JSON, {
|
|
530
614
|
parse0: function(t, e = null) {
|
|
531
615
|
try {
|
|
532
616
|
if (typeof t != "string")
|
|
@@ -537,17 +621,17 @@ u(JSON, {
|
|
|
537
621
|
}
|
|
538
622
|
}
|
|
539
623
|
});
|
|
540
|
-
typeof Iterator < "u" &&
|
|
624
|
+
typeof Iterator < "u" && h(Iterator.prototype, {
|
|
541
625
|
toArray: function() {
|
|
542
626
|
return Array.from(this);
|
|
543
627
|
}
|
|
544
628
|
});
|
|
545
|
-
|
|
629
|
+
h(ArrayBuffer.prototype, {
|
|
546
630
|
toUint8Array: function() {
|
|
547
631
|
return new Uint8Array(this);
|
|
548
632
|
}
|
|
549
633
|
});
|
|
550
|
-
typeof Uint8Array.fromBase64 > "u" && (
|
|
634
|
+
typeof Uint8Array.fromBase64 > "u" && (h(Uint8Array, {
|
|
551
635
|
fromHex: function(t) {
|
|
552
636
|
const e = [];
|
|
553
637
|
for (let n = 0; n < t.length; n += 2)
|
|
@@ -556,23 +640,23 @@ typeof Uint8Array.fromBase64 > "u" && (u(Uint8Array, {
|
|
|
556
640
|
},
|
|
557
641
|
fromBase64: function(t) {
|
|
558
642
|
const e = [], n = {}, r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
559
|
-
for (let
|
|
560
|
-
n[r.charAt(
|
|
643
|
+
for (let u = 0; u < r.length; u++)
|
|
644
|
+
n[r.charAt(u)] = u;
|
|
561
645
|
const i = t.charAt(t.length - 1) != "=" ? t.length : t.charAt(t.length - 2) != "=" ? t.length - 1 : t.length - 2;
|
|
562
|
-
for (let
|
|
563
|
-
const
|
|
564
|
-
e.push((
|
|
646
|
+
for (let u = 3; u < i; u += 4) {
|
|
647
|
+
const s = (n[t.charAt(u - 3)] << 18) + (n[t.charAt(u - 2)] << 12) + (n[t.charAt(u - 1)] << 6) + n[t.charAt(u)];
|
|
648
|
+
e.push((s & 16711680) >> 16, (s & 65280) >> 8, s & 255);
|
|
565
649
|
}
|
|
566
650
|
if (i % 4 == 3) {
|
|
567
|
-
const
|
|
568
|
-
e.push((
|
|
651
|
+
const u = (n[t.charAt(i - 3)] << 18) + (n[t.charAt(i - 2)] << 12) + (n[t.charAt(i - 1)] << 6);
|
|
652
|
+
e.push((u & 16711680) >> 16, (u & 65280) >> 8);
|
|
569
653
|
} else if (i % 4 == 2) {
|
|
570
|
-
const
|
|
571
|
-
e.push((
|
|
654
|
+
const u = (n[t.charAt(i - 2)] << 18) + (n[t.charAt(i - 1)] << 12);
|
|
655
|
+
e.push((u & 16711680) >> 16);
|
|
572
656
|
}
|
|
573
657
|
return new Uint8Array(e);
|
|
574
658
|
}
|
|
575
|
-
}),
|
|
659
|
+
}), h(Uint8Array.prototype, {
|
|
576
660
|
toHex: function() {
|
|
577
661
|
let t = "";
|
|
578
662
|
for (let e = 0; e < this.length; e++)
|
|
@@ -595,7 +679,7 @@ typeof Uint8Array.fromBase64 > "u" && (u(Uint8Array, {
|
|
|
595
679
|
return t;
|
|
596
680
|
}
|
|
597
681
|
}));
|
|
598
|
-
|
|
682
|
+
h(Uint8Array.prototype, {
|
|
599
683
|
bytes2string: function() {
|
|
600
684
|
return new TextDecoder().decode(this);
|
|
601
685
|
},
|
|
@@ -609,19 +693,19 @@ u(Uint8Array.prototype, {
|
|
|
609
693
|
return new Array(...this);
|
|
610
694
|
}
|
|
611
695
|
});
|
|
612
|
-
let
|
|
613
|
-
|
|
696
|
+
let O = 0, w = 0, A = 0;
|
|
697
|
+
h(Math, {
|
|
614
698
|
randstr: function(t = 16, e = 0, n = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", r = "~!@#$%^&*()_+`{}|[]\\:\";'<>,.?/") {
|
|
615
699
|
if (t < e)
|
|
616
700
|
throw new Error("randstr: len < slen");
|
|
617
701
|
const i = [];
|
|
618
|
-
for (let
|
|
702
|
+
for (let u = 0; u < t; u++)
|
|
619
703
|
i.push(n.charAt(Math.random() * n.length | 0));
|
|
620
|
-
for (let
|
|
704
|
+
for (let u = /* @__PURE__ */ new Set(), s = 0, o = 0; o < e; o++) {
|
|
621
705
|
do
|
|
622
|
-
|
|
623
|
-
while (
|
|
624
|
-
|
|
706
|
+
s = Math.random() * t | 0;
|
|
707
|
+
while (u.has(s));
|
|
708
|
+
u.set(s, !0), i[s] = r.charAt(Math.random() * r.length | 0);
|
|
625
709
|
}
|
|
626
710
|
return i.join("");
|
|
627
711
|
},
|
|
@@ -629,7 +713,7 @@ u(Math, {
|
|
|
629
713
|
return Math.floor(Math.random() * (e - t) + t);
|
|
630
714
|
},
|
|
631
715
|
incrid: function() {
|
|
632
|
-
return ++
|
|
716
|
+
return ++O;
|
|
633
717
|
},
|
|
634
718
|
incrstr: function() {
|
|
635
719
|
return "" + Math.incrid();
|
|
@@ -645,11 +729,11 @@ u(Math, {
|
|
|
645
729
|
},
|
|
646
730
|
useTemplate: function(t) {
|
|
647
731
|
let e = null;
|
|
648
|
-
const n = { setup(i, { slots:
|
|
649
|
-
return e =
|
|
732
|
+
const n = { setup(i, { slots: u }) {
|
|
733
|
+
return e = u.default, () => {
|
|
650
734
|
};
|
|
651
|
-
}, name: t + "Template" }, r = { setup(i, { attrs:
|
|
652
|
-
return () => e?.(
|
|
735
|
+
}, name: t + "Template" }, r = { setup(i, { attrs: u }) {
|
|
736
|
+
return () => e?.(u);
|
|
653
737
|
}, name: t };
|
|
654
738
|
return { [n.name]: n, [r.name]: r };
|
|
655
739
|
}
|
package/dist/esexts.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(u){typeof define=="function"&&define.amd?define(u):u()})((function(){"use strict";function u(t,e){return Object.defineProperties(t,Object.fromEntries(Object.keys(e).map(n=>[n,{value:e[n],enumerable:!1,configurable:!0,writable:!0}])))}function g(){return{new:function(...t){return new this(...t)}}}function p(...t){const e={};for(const[n,r]of t)e[r]=function(){return this[n]};return e}function m(...t){const e={};for(const[n,r]of t)e[r]=function(...i){return[...this[n](...i)]};return e}function d(...t){const e={};for(const[n,r]of t)e[r]=function(...i){return this[n](...i),this};return e}function O(...t){const e={};for(const[n,r]of t)e[r]=function(...i){return this[n](...i),i[0]};return e}function b(...t){const e={};for(const[n,r]of t)e[r]=function(...i){return this[n](...i),i};return e}function w(t,...e){const n={};for(const[r,i]of e)n[i]=function(...s){return t[r](this,...s)};return n}function S(t,...e){const n={};for(const[r,i]of e)n[i]=function(...s){return t[r](this,...s),this};return n}function A(t={array:!1}){return function(e={},...n){const r=(i,s)=>{const o=Object.prototype.toString.call(i),c=Object.prototype.toString.call(s);if(o!==c)return s;if(o==="[object Array]")return t.array?i.concat(...s):s;if(o==="[object Object]"){for(const a in s)i[a]=r(i[a],s[a]);return i}else return s};for(const i of n)e=r(e,i);return e}}const x=A({array:!1}),M=A({array:!0});u(Object,{isObject:function(t){return Object.prototype.toString.call(t)==="[object Object]"},merge0:function(...t){return x(this,...t)},concat0:function(...t){return M(this,...t)}}),u(Object.prototype,{clone0:function(){return JSON.parse(JSON.stringify(this))},length0:function(){return Object.keys(this).length},...w(Object,["entries","entries0"],["keys","keys0"],["values","values0"]),merge0:function(...t){return x(this,...t)},concat0:function(...t){return M(this,...t)},map0:function(t=(n,r,i)=>[n,r],e=0){return Object.entries(this).map(([n,r])=>t(n,r,e++))},pick0:function(...t){const e={};for(const n of t)e[n]=this[n];return e},omit0:function(...t){const e={},n=new Set(t);for(const r in this)n.has(r)||(e[r]=this[r]);return e},attr0:function(t,...e){return typeof this!="object"?this:typeof t=="function"?t(this,...e):this[t]},toArray0:function(){return Array.isArray(this)?this:[this]},...S(console,["debug","debug0"],["log","log0"],["info","info0"],["warn","warn0"],["error","error0"],["dir","dir0"]),getParents0:function(t=!1,e=-1,n="parent"){const r=t?[this]:[];let i=this[n];for(;i&&e--!=0;)r.push(i),i=i[n];return r},getChildrens0:function(t=!1,e=-1,n="children"){const r=[],i=(s,o,c)=>{if(o&&r.push(s),!(c==0||!s[n]||s[n].length==0))for(const a of s[n])i(a,!0,c-1)};return i(this,t,e),r},treeFind0:function(t,e=!0,n=-1,r="children"){if(e&&t(this))return this;if(n==0||!this[r]||this[r].length==0)return null;for(const i of this[r]){const s=i.treeFind0(t,!0,n-1,r);if(s!==null)return s}return null},treeEach0:function(t,e=!0,n=-1,r="children"){if(e&&t(this),!(n==0||!this[r]||this[r].length==0)){for(const i of this[r])i.treeEach0(t,!0,n-1,r);return this}},treeMap0:function(t,e=!0,n=-1,r="children",i=null){const s=e?t(this):this,o=[];if(n==0||!this[r]||this[r].length==0)return s;for(const c of this[r])o.push(c.treeMap0(t,!0,n-1,r,i));return s[r]=o,s}}),u(Number.prototype,{...w(Math,["ceil","ceil"],["floor","floor"],["trunc","trunc"],["abs","abs"],["max","max"],["min","min"]),baseConvert:function(t=64){let e="",n=this,r="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";for(;n>0;)e=r.at(n%t)+e,n=Math.floor(n/t);return e||"0"},round:function(t=0){return t==0?Math.round(this):Math.round(this*10**t)/10**t},toFixed0:function(...t){return+this.toFixed(...t)},toDate:function(){return Date.new(this)}}),u(BigInt.prototype,{toJSON:function(){return this<BigInt(Number.MIN_SAFE_INTEGER)||this>BigInt(Number.MAX_SAFE_INTEGER)?this.toString():Number(this)}}),u(String.prototype,{...p(["length","length0"]),substring0:function(t=0,e=this.length){return t=t>=0?t:this.length+t,e=e>=0?e:this.length+e,this.substring(t,e)},substr0:function(t=0,e=this.length){return t=t>=0?t:this.length+t,e=t+e,this.substring(t,e)},split0:function(t=",",e=-1){const n=this?this.split(t):[];return e===-1?n:n.push0(n.splice(e-1).join(t))},splitNumber:function(t=","){return this.split0(t).map(e=>+e)},splitSegment:function(t=1){const e=[];for(let n=0;n<this.length;n+=t)e.push(this.substring(n,n+t));return e},sprintf:function(...t){let[e,...n]=this.split(/%[sd]/);for(let r=0;r<n.length;r++)e+=t[r]+n[r];return e},subOf:function(t,e,n=0,r=0){for(let o=0;o<n&&r!=-1;o++,r++)r=this.indexOf(t,r);let i=this.indexOf(t,r),s=this.indexOf(e,i);return i==-1||s==-1?"":(i+=t.length,this.substring(i,s))},lastSubOf:function(t,e,n=0,r=1/0){for(let o=0;o<n&&r!=-1;o++,r--)r=this.lastIndexOf(t,r);let i=this.lastIndexOf(t,r),s=this.indexOf(e,i);return i==-1||s==-1?"":(i+=t.length,this.substring(i,s))},camel2under:function(){return this.substr(0,1)+this.substr(1).replace(/([A-Z])/g,(t,e)=>"_"+e.toLowerCase())},under2camel:function(){return this.replace(/_([a-z])/g,(t,e)=>e.toUpperCase())},camel2pascal:function(){return this.substr(0,1).toUpperCase()+this.substr(1)},pascal2camel:function(){return this.substr(0,1).toLowerCase()+this.substr(1)},under2kebab:function(){return this.replace(/_/g,"-")},kebab2under:function(){return this.replace(/-/g,"_")},baseConvert:function(t=64){let e=0,n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";for(let r=0;r<this.length;r++)e=e*t+n.indexOf(this.at(r));return e},toFixed0:function(...t){return+(+this).toFixed(...t)},toDate:function(){return Date.new(this)},string2bytes:function(){return new TextEncoder().encode(this)},hex2bytes:function(){return Uint8Array.fromHex(this)},base64decode:function(){return Uint8Array.fromBase64(this)}}),u(Array,{...g()}),u(Array.prototype,{...p(["length","length0"]),...m(["entries","entries0"],["keys","keys0"],["values","values0"]),...d(["push","push0"],["pop","pop0"],["shift","shift0"],["unshift","unshift0"]),...O(["push","push1"],["unshift","unshift1"]),...b(["push","push3"],["unshift","unshift3"]),first0:function(t=null){return this.length?this[0]:t},last0:function(t=null){return this.length?this[this.length-1]:t},find0:function(t,e=null){return this.find(t)??e},equals0:function(t){return this.length===t.length&&(this===t||this.length===0||this.every((e,n)=>e===t[n]))},unique0:function(t=e=>e){const e=new Set;return this.filter(n=>e.has(t(n))?!1:!!e.add(t(n)))},...d(["forEach","each0"]),toObject:function(t=(e,n)=>[n,e]){return Object.fromEntries(this.map(t))},toMap:function(t=(e,n)=>[n,e]){return new Map(this.map(t))},toSet:function(t=e=>e){return new Set(this.map(t))},toGroup:function(t=e=>[e.id,e]){const e={};for(const n of this){const[r,i]=t(n);r in e||(e[r]=[]),e[r].push(i)}return e},toMerge:function(t=r=>r.id,e=r=>({...r,children:[]}),n=(r,i)=>r.children.push(i)){const r=[];for(const i of this)n(r.find(s=>t(s)==t(i))??r.push1(e(i)),i);return r},bytes2string:function(){return this.toUint8Array().bytes2string()},bytes2hex:function(){return this.toUint8Array().toHex()},base64encode:function(){return this.toUint8Array().toBase64()},toUint8Array:function(){return new Uint8Array(this)},assoc:function(t,e,n={}){const r=this.unique0(s=>s[t]),i=r.length==0?{}:typeof n=="function"?n(r):n;return this.each0(s=>s[e]=i[s[t]]??null)},toTree:function(t={}){const{id:e="id",pid:n="pid",level:r="level",root:i="root",parent:s="parent",children:o="children",empty:c=null,hasRoot:a=!0}=t,y=this.toObject(h=>[h[e],h]),f=this.toGroup(h=>[h[n],h]),l=this.length&&a?this.find(h=>h[n]===0):{[e]:0,[n]:-1,[i]:null,[s]:null,[o]:f[0]};u(l,{[i]:{value:l,enumerable:!1,configurable:!0,writable:!0}});for(const h of this)u(h,{[i]:{value:l,enumerable:!1,configurable:!0,writable:!0},[s]:{value:y[h[n]],enumerable:!1,configurable:!0,writable:!0}}),h[o]=f[h[e]]||c;return l.treeEach0(h=>h[r]=h[s]?h[s][r]+1:0,-1,o),l},tree2tree:function(t={},e=null,n=null){const{id:r="id",pid:i="pid",level:s="level",root:o="root",parent:c="parent",children:a="children",empty:y=null}=t;e=e||{[r]:0,[i]:-1,[s]:0,[o]:null,[c]:null,[a]:this},n=n||e;for(const f of this)u(f,{[o]:{value:e,enumerable:!1,configurable:!0,writable:!0},[c]:{value:n,enumerable:!1,configurable:!0,writable:!0}}),f[i]=n[r],f[s]=n[s]+1,f[a]=f[a]&&f[a].length?f[a]:y,f[a]?.tree2tree(t,e,f);return e},treeFind0:function(t,e=!0,n=-1,r="children"){for(const i of this){const s=i.treeFind0(t,e,n,r);if(s!==null)return s}return null},treeEach0:function(t,e=!0,n=-1,r="children"){for(const i of this)i.treeEach0(t,e,n,r);return this},treeMap0:function(t,e=!0,n=-1,r="children",i=null){return this.map(s=>s.treeMap0(t,e,n,r,i))}}),u(Map,{...g()}),u(Map.prototype,{...p(["size","length0"]),...m(["entries","entries0"],["keys","keys0"],["values","values0"]),...d(["set","set0"],["delete","delete0"]),...b(["set","set3"]),get0:function(t,e=null){return this.has(t)?this.get(t):e},get1:function(t,e,...n){return this.has(t)?this.get(t):this.set3(t,e(t,...n))[1]},getAsync1:async function(t,e,...n){return this.has(t)?this.get(t):this.set3(t,await e(t,...n))[1]},toObject:function(){return Object.fromEntries(this)},toArray:function(){return[...this]},toJSON:function(){return[...this]}}),u(Set,{...g()}),u(Set.prototype,{...p(["size","length0"]),...m(["entries","entries0"],["keys","keys0"],["values","values0"]),...d(["add","add0"],["delete","delete0"]),...b(["add","add3"]),toArray:function(){return[...this]},toJSON:function(){return[...this]}}),u(Date,{new:function(...t){return t.length!=1?new Date(...t):Number.isNaN(+t[0])?new Date(t[0].includes("T")?t[0]:t[0].replace(/-/g,"/")):new Date(t[0]>25e8?t[0]:t[0]*1e3)},format:function(t="y-m-d h:i:s"){return new Date().format(t)},unix:function(){return this.now()/1e3|0},fromUnix:function(t=0){return new Date((t||0)*1e3)},expr:function(t={}){return new Date().expr(t)},toDayRange:function(){const t=new Date,e=t.getFullYear(),n=t.getMonth(),r=t.getDate(),i=new Date(e,n,r).getTime()/1e3|0;return[i,i+86400-1]},toWeekRange:function(){let t=new Date;for(;t.getDay()!=1;)t=new Date(t.getTime()-86400);const e=t.getFullYear(),n=t.getMonth(),r=t.getDate(),i=new Date(e,n,r).getTime()/1e3|0;return[i,i+86400*7-1]},toMonthRange:function(){const t=new Date,e=t.getFullYear(),n=t.getMonth(),r=new Date(e,n,1).getTime()/1e3|0,i=new Date(e,n+1,0,23,59,59).getTime()/1e3|0;return[r,i]},toYearRange:function(){const e=new Date().getFullYear(),n=new Date(e,1,1).getTime()/1e3|0,r=new Date(e+1,1,0,23,59,59).getTime()/1e3|0;return[n,r]}}),u(Date.prototype,{format:function(t="y-m-d h:i:s"){if(this.getTime()===0)return"-";const e={y:this.getFullYear(),m:this.getMonth()+1,d:this.getDate(),h:this.getHours(),i:this.getMinutes(),s:this.getSeconds(),l:this.getMilliseconds(),e:this.getMonthDay()};return t.replace(/([ymdhisle])/ig,(n,r)=>r>="A"&&r<="Z"?e[r.toLowerCase()]:e[r].toString().padStart(r==="l"?3:2,"0"))},unix:function(){return this.getTime()/1e3|0},isLeapYear:function(){return this.getFullYear()%4===0&&this.getFullYear()%400!==0},getMonthDay:function(){return[31,0,31,30,31,30,31,31,30,31,30,31][this.getMonth()]||(this.isLeapYear()?29:28)},expr:function({y:t=0,m:e=0,d:n=0,h:r=0,i=0,s=0}){const o=new Date(this.getFullYear()+t,this.getMonth()+e+1,0);return new Date(this.getFullYear()+t,this.getMonth()+e,Math.min(o.getDate(),this.getDate())+n,this.getHours()+r,this.getMinutes()+i,this.getSeconds()+s)},begin:function(t=3){return new Date(...[this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds()].slice(0,t),...[this.getFullYear(),0,1,0,0,0].slice(t))},end:function(t=3){return new Date(...[this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds()].slice(0,t),...[this.getFullYear(),11,t<2?31:this.getMonthDay(),23,59,59].slice(t))},week:function(t,e=1){let n=new Date(this.getTime());for(;n.getDay()!==t;)n=new Date(n.getTime()+864e5*e);return n},toJSON:function(){return this.getTime()}}),u(RegExp,{...g()}),u(RegExp.prototype,{toJSON:function(){return this.toString()}}),u(Promise,{channel:function(){let t=null,e=null;return[new this((r,i)=>{t=r,e=i}),t,e]}}),u(Promise.prototype,{tryCatch:function(){return new Promise(t=>this.then(e=>t([e,null])).catch(e=>t([null,e])))}}),u(JSON,{parse0:function(t,e=null){try{if(typeof t!="string")throw new Error("not string");return JSON.parse(t)}catch{return e}}}),typeof Iterator<"u"&&u(Iterator.prototype,{toArray:function(){return Array.from(this)}}),u(ArrayBuffer.prototype,{toUint8Array:function(){return new Uint8Array(this)}}),typeof Uint8Array.fromBase64>"u"&&(u(Uint8Array,{fromHex:function(t){const e=[];for(let n=0;n<t.length;n+=2)e.push(Number.parseInt(t.substring(n,n+2),16));return new Uint8Array(e)},fromBase64:function(t){const e=[],n={},r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(let s=0;s<r.length;s++)n[r.charAt(s)]=s;const i=t.charAt(t.length-1)!="="?t.length:t.charAt(t.length-2)!="="?t.length-1:t.length-2;for(let s=3;s<i;s+=4){const o=(n[t.charAt(s-3)]<<18)+(n[t.charAt(s-2)]<<12)+(n[t.charAt(s-1)]<<6)+n[t.charAt(s)];e.push((o&16711680)>>16,(o&65280)>>8,o&255)}if(i%4==3){const s=(n[t.charAt(i-3)]<<18)+(n[t.charAt(i-2)]<<12)+(n[t.charAt(i-1)]<<6);e.push((s&16711680)>>16,(s&65280)>>8)}else if(i%4==2){const s=(n[t.charAt(i-2)]<<18)+(n[t.charAt(i-1)]<<12);e.push((s&16711680)>>16)}return new Uint8Array(e)}}),u(Uint8Array.prototype,{toHex:function(){let t="";for(let e=0;e<this.length;e++)t+=(this[e]<16?"0":"")+this[e].toString(16);return t},toBase64:function(){let t="",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(let n=2;n<this.length;n+=3){const r=(this[n-2]<<16)+(this[n-1]<<8)+this[n];t+=e.charAt((r&16515072)>>18)+e.charAt((r&258048)>>12)+e.charAt((r&4032)>>6)+e.charAt(r&63)}if(this.length%3==2){const n=(this[this.length-2]<<16)+(this[this.length-1]<<8);t+=e.charAt((n&16515072)>>18)+e.charAt((n&258048)>>12)+e.charAt((n&4032)>>6)+"="}else if(this.length%3==1){const n=this[this.length-1]<<16;t+=e.charAt((n&16515072)>>18)+e.charAt((n&258048)>>12)+"=="}return t}})),u(Uint8Array.prototype,{bytes2string:function(){return new TextDecoder().decode(this)},bytes2hex:function(){return this.toHex()},base64encode:function(){return this.toBase64()},toArray:function(){return new Array(...this)}});let j=0,D=0,F=0;u(Math,{randstr:function(t=16,e=0,n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",r="~!@#$%^&*()_+`{}|[]\\:\";'<>,.?/"){if(t<e)throw new Error("randstr: len < slen");const i=[];for(let s=0;s<t;s++)i.push(n.charAt(Math.random()*n.length|0));for(let s=new Set,o=0,c=0;c<e;c++){do o=Math.random()*t|0;while(s.has(o));s.set(o,!0),i[o]=r.charAt(Math.random()*r.length|0)}return i.join("")},randint:function(t=0,e=Number.MAX_SAFE_INTEGER){return Math.floor(Math.random()*(e-t)+t)},incrid:function(){return++j},incrstr:function(){return""+Math.incrid()},uniqid:function(t=Date.now()){return t===F?t*2048+ ++D%2048:(F=t)*2048+(D=0)%2048},uniqstr:function(){return""+Math.uniqid()},sleep:function(t){return new Promise(e=>setTimeout(e,t))},useTemplate:function(t){let e=null;const n={setup(i,{slots:s}){return e=s.default,()=>{}},name:t+"Template"},r={setup(i,{attrs:s}){return()=>e?.(s)},name:t};return{[n.name]:n,[r.name]:r}}})}));
|
|
1
|
+
(function(h){typeof define=="function"&&define.amd?define(h):h()})((function(){"use strict";function h(t,e){return Object.defineProperties(t,Object.fromEntries(Object.keys(e).map(n=>[n,{value:e[n],enumerable:!1,configurable:!0,writable:!0}])))}function d(){return{new:function(...t){return new this(...t)}}}function b(...t){const e={};for(const[n,r]of t)e[r]=function(){return this[n]};return e}function f(t,e,n,...r){const i={};for(const[u,s]of r){if(e===null&&n===null){i[s]=function(...o){return t[u].apply(this,o)};continue}if(e===null&&n===!1){i[s]=function(...o){return t[u].apply(this,o),this};continue}if(e===null&&n===!0){i[s]=function(...o){return t[u].apply(this,o),o};continue}if(e===null&&n>0){i[s]=function(...o){return t[u].apply(this,o),o[n-1]};continue}if(e===null&&n<0){i[s]=function(...o){return t[u].apply(this,o),o[o.length+n+1]};continue}if(e!==null&&n===null){i[s]=function(...o){return o.splice(e>0?e-1:o.length+e+1,0,this),t[u].apply(this,o)};continue}if(e!==null&&n===!1){i[s]=function(...o){return o.splice(e>0?e-1:o.length+e+1,0,this),t[u].apply(this,o),this};continue}if(e!==null&&n===!0){i[s]=function(...o){return o.splice(e>0?e-1:o.length+e+1,0,this),t[u].apply(this,o),o};continue}if(e!==null&&n>0){i[s]=function(...o){return o.splice(e>0?e-1:o.length+e+1,0,this),t[u].apply(this,o),o[n-1]};continue}if(e!==null&&n<0){i[s]=function(...o){return o.splice(e>0?e-1:o.length+e+1,0,this),t[u].apply(this,o),o[o.length+n+1]};continue}throw Error("unreachable")}return i}function m(t,...e){const n={};for(const[r,i]of e)n[i]=function(...u){return[...t[r].apply(this,u)]};return n}function w(t={array:!1}){return function(e={},...n){const r=(i,u)=>{const s=Object.prototype.toString.call(i),o=Object.prototype.toString.call(u);if(s!==o)return u;if(s==="[object Array]")return t.array?i.concat(...u):u;if(s==="[object Object]"){for(const l in u)i[l]=r(i[l],u[l]);return i}else return u};for(const i of n)e=r(e,i);return e}}const A=w({array:!1}),M=w({array:!0});h(Object,{isObject:function(t){return Object.prototype.toString.call(t)==="[object Object]"},merge0:function(...t){return A(this,...t)},concat0:function(...t){return M(this,...t)}}),h(Object.prototype,{clone0:function(){return JSON.parse(JSON.stringify(this))},length0:function(){return Object.keys(this).length},...f(Object,1,null,["entries","entries0"],["keys","keys0"],["values","values0"],["assign","assign0"]),merge0:function(...t){return A(this,...t)},concat0:function(...t){return M(this,...t)},map0:function(t=(n,r,i)=>[n,r],e=0){return Object.entries(this).map(([n,r])=>t(n,r,e++))},pick0:function(...t){const e={};for(const n of t)e[n]=this[n];return e},omit0:function(...t){const e={},n=new Set(t);for(const r in this)n.has(r)||(e[r]=this[r]);return e},empty0:function(...t){return Object.keys(this).length==0},attr0:function(t,...e){return typeof this!="object"?this:typeof t=="function"?t(this,...e):e.length>0?((e[1]===void 0||e[1]===t in this)&&(this[t]=e[0]),this):this[t]},toArray0:function(){return Array.isArray(this)?this:[this]},...f(console,-1,!1,["debug","debug0"],["log","log0"],["info","info0"],["warn","warn0"],["error","error0"],["dir","dir0"]),debugger0:function(...t){t.push(this),console.debug(...t);debugger;return this},getParents0:function(t=!1,e=-1,n="parent"){const r=t?[this]:[];let i=this[n];for(;i&&e--!=0;)r.push(i),i=i[n];return r},getChildrens0:function(t=!1,e=-1,n="children"){const r=[],i=(u,s,o)=>{if(s&&r.push(u),!(o==0||!u[n]||u[n].length==0))for(const l of u[n])i(l,!0,o-1)};return i(this,t,e),r},treeFind0:function(t,e=!0,n=-1,r="children"){if(e&&t(this))return this;if(n==0||!this[r]||this[r].length==0)return null;for(const i of this[r]){const u=i.treeFind0(t,!0,n-1,r);if(u!==null)return u}return null},treeEach0:function(t,e=!0,n=-1,r="children"){if(e&&t(this),!(n==0||!this[r]||this[r].length==0)){for(const i of this[r])i.treeEach0(t,!0,n-1,r);return this}},treeMap0:function(t,e=!0,n=-1,r="children",i=null){const u=e?t(this):this,s=[];if(n==0||!this[r]||this[r].length==0)return u;for(const o of this[r])s.push(o.treeMap0(t,!0,n-1,r,i));return u[r]=s,u}}),h(Number.prototype,{...f(Math,1,null,["ceil","ceil"],["floor","floor"],["trunc","trunc"],["abs","abs"],["max","max"],["min","min"]),round:function(t=0){return Math.round(this*10**t)/10**t},add:function(t){return this+t},sub:function(t){return this-t},mul:function(t){return this*t},div:function(t){return this*t},baseConvert:function(t=64){let e="",n=this,r="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";for(;n>0;)e=r.at(n%t)+e,n=Math.floor(n/t);return e||"0"},unit:function(t,e=0){let n=this,r="";for([unit,size]of Object.entries(t)){if(r=unit,size===0||n<size)break;n=n/size}return e<0?+n.toFixed(0-e)+r:n.toFixed(e)+r},units:function(t,e=!1){let n=this,r=[];for([unit,size]of Object.entries(t))if(size==0||n<size){r.push([n,unit]);break}else r.push([n%size,unit]),n=Math.floor(n/size);return e?r:r.reverse().map(([i,u])=>i+u).join("")},toFixed0:function(t=0){return+this.toFixed(t)},toDate:function(){return Date.new(this)}}),h(BigInt.prototype,{toJSON:function(){return this<BigInt(Number.MIN_SAFE_INTEGER)||this>BigInt(Number.MAX_SAFE_INTEGER)?this.toString():Number(this)}}),h(String.prototype,{...b(["length","length0"]),substring0:function(t=0,e=this.length){return t=t>=0?t:this.length+t,e=e>=0?e:this.length+e,this.substring(t,e)},substr0:function(t=0,e=this.length){return t=t>=0?t:this.length+t,e=t+e,this.substring(t,e)},split0:function(t=",",e=-1){const n=this?this.split(t):[];return e===-1?n:n.push0(n.splice(e-1).join(t))},splitNumber:function(t=","){return this.split0(t).map(e=>+e)},splitSegment:function(t=1){const e=[];for(let n=0;n<this.length;n+=t)e.push(this.substring(n,n+t));return e},sprintf:function(...t){let[e,...n]=this.split(/%[sd]/);for(let r=0;r<n.length;r++)e+=t[r]+n[r];return e},subOf:function(t,e,n=0,r=0){for(let s=0;s<n&&r!=-1;s++,r++)r=this.indexOf(t,r);let i=this.indexOf(t,r),u=this.indexOf(e,i);return i==-1||u==-1?"":(i+=t.length,this.substring(i,u))},lastSubOf:function(t,e,n=0,r=1/0){for(let s=0;s<n&&r!=-1;s++,r--)r=this.lastIndexOf(t,r);let i=this.lastIndexOf(t,r),u=this.indexOf(e,i);return i==-1||u==-1?"":(i+=t.length,this.substring(i,u))},camel2under:function(){return this.substr(0,1)+this.substr(1).replace(/([A-Z])/g,(t,e)=>"_"+e.toLowerCase())},under2camel:function(){return this.replace(/_([a-z])/g,(t,e)=>e.toUpperCase())},camel2pascal:function(){return this.substr(0,1).toUpperCase()+this.substr(1)},pascal2camel:function(){return this.substr(0,1).toLowerCase()+this.substr(1)},under2kebab:function(){return this.replace(/_/g,"-")},kebab2under:function(){return this.replace(/-/g,"_")},baseConvert:function(t=64){let e=0,n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";for(let r=0;r<this.length;r++)e=e*t+n.indexOf(this.at(r));return e},toFixed0:function(...t){return+(+this).toFixed(...t)},toDate:function(){return Date.new(this)},string2bytes:function(){return new TextEncoder().encode(this)},hex2bytes:function(){return Uint8Array.fromHex(this)},base64decode:function(){return Uint8Array.fromBase64(this)}}),h(Array,{...d()}),h(Array.prototype,{...b(["length","length0"]),...m(Array.prototype,["entries","entries0"],["keys","keys0"],["values","values0"]),...f(Array.prototype,null,!1,["push","push0"],["pop","pop0"],["shift","shift0"],["unshift","unshift0"]),...f(Array.prototype,null,1,["push","push1"],["unshift","unshift1"]),...f(Array.prototype,null,!0,["push","push3"],["unshift","unshift3"]),first0:function(t=null){return this.length?this[0]:t},last0:function(t=null){return this.length?this[this.length-1]:t},find0:function(t,e=null){return this.find(t)??e},equals0:function(t){return this.length===t.length&&(this===t||this.length===0||this.every((e,n)=>e===t[n]))},unique0:function(t=e=>e){const e=new Set;return this.filter(n=>e.has(t(n))?!1:!!e.add(t(n)))},...f(Array.prototype,null,!1,["forEach","each0"]),eachAsync:async function(t){for(let e=0;e<this.length;e++)await t(this[e],e,this);return this},mapAsync:async function(t){const e=[];for(let n=0;n<this.length;n++)e.push(await t(this[n],n,this));return e},toMap:function(t=(e,n)=>[n,e]){return new Map(this.map(t))},toSet:function(t=e=>e){return new Set(this.map(t))},bytes2string:function(){return this.toUint8Array().bytes2string()},bytes2hex:function(){return this.toUint8Array().toHex()},base64encode:function(){return this.toUint8Array().toBase64()},toUint8Array:function(){return new Uint8Array(this)},range:function(...t){let e=[],n=0,r=0,i=1,u=typeof t[t.length-1]=="boolean"?t.pop():!0,s=typeof t[t.length-1]=="function"?t.pop():(o,l,g)=>o;switch(t.length){case 1:[r]=t;break;case 2:[n,r]=t;break;case 3:[n,r,i]=t;break;default:throw new Error("the number of parameters is incorrect!")}if(i==0)throw new Error("step cannot be 0!");for(let o=0,l=0,g=Math.abs(r-n),a=Math.abs(i),p=n<=r?1:-1;l<g;l+=a)e.push(u?s(n+l*p,o++,e):s());return e},assoc:function(t,e,n={}){const r=this.unique0(u=>u[t]),i=r.length==0?{}:typeof n=="function"?n(r):n;return this.each0(u=>u[e]=i[u[t]]??null)},toTree:function(t={}){const{id:e="id",pid:n="pid",level:r="level",root:i="root",parent:u="parent",children:s="children",empty:o=null,hasRoot:l=!0}=t,g=this.reduce((c,y)=>c.attr0(y[e],y),{}),a=this.reduce((c,y)=>(c.attr0(y[n],[],!1).attr0(y[n]).push0(y),c),{}),p=this.length&&l?this.find(c=>c[n]===0):{[e]:0,[n]:-1,[i]:null,[u]:null,[s]:a[0]};h(p,{[i]:{value:p,enumerable:!1,configurable:!0,writable:!0}});for(const c of this)h(c,{[i]:{value:p,enumerable:!1,configurable:!0,writable:!0},[u]:{value:g[c[n]],enumerable:!1,configurable:!0,writable:!0}}),c[s]=a[c[e]]||o;return p.treeEach0(c=>c[r]=c[u]?c[u][r]+1:0,-1,s),p},tree2tree:function(t={},e=null,n=null){const{id:r="id",pid:i="pid",level:u="level",root:s="root",parent:o="parent",children:l="children",empty:g=null}=t;e=e||{[r]:0,[i]:-1,[u]:0,[s]:null,[o]:null,[l]:this},n=n||e;for(const a of this)h(a,{[s]:{value:e,enumerable:!1,configurable:!0,writable:!0},[o]:{value:n,enumerable:!1,configurable:!0,writable:!0}}),a[i]=n[r],a[u]=n[u]+1,a[l]=a[l]&&a[l].length?a[l]:g,a[l]?.tree2tree(t,e,a);return e},treeFind0:function(t,e=!0,n=-1,r="children"){for(const i of this){const u=i.treeFind0(t,e,n,r);if(u!==null)return u}return null},treeEach0:function(t,e=!0,n=-1,r="children"){for(const i of this)i.treeEach0(t,e,n,r);return this},treeMap0:function(t,e=!0,n=-1,r="children",i=null){return this.map(u=>u.treeMap0(t,e,n,r,i))}}),h(Map,{...d()}),h(Map.prototype,{...b(["size","length0"]),...m(Map.prototype,["entries","entries0"],["keys","keys0"],["values","values0"]),...f(Map.prototype,null,!1,["set","set0"],["delete","delete0"]),...f(Map.prototype,null,1,["set","set1"],["delete","delete1"]),...f(Map.prototype,null,!0,["set","set3"],["delete","delete3"]),get0:function(t,e=null){return this.has(t)?this.get(t):e},get1:function(t,e,...n){return this.has(t)?this.get(t):this.set3(t,e(t,...n))[1]},getAsync1:async function(t,e,...n){return this.has(t)?this.get(t):this.set3(t,await e(t,...n))[1]},toObject:function(){return Object.fromEntries(this)},toArray:function(){return[...this]},toJSON:function(){return[...this]}}),h(Set,{...d()}),h(Set.prototype,{...b(["size","length0"]),...m(Set.prototype,["entries","entries0"],["keys","keys0"],["values","values0"]),...f(Set.prototype,null,!1,["add","add0"],["delete","delete0"]),...f(Set.prototype,null,1,["add","add1"],["delete","delete1"]),...f(Set.prototype,null,!0,["add","add3"],["delete","delete3"]),toArray:function(){return[...this]},toJSON:function(){return[...this]}}),h(Date,{new:function(...t){return t.length!=1?new Date(...t):Number.isNaN(+t[0])?new Date(t[0].includes("T")?t[0]:t[0].replace(/-/g,"/")):new Date(t[0]>25e8?t[0]:t[0]*1e3)},format:function(t="y-m-d h:i:s"){return new Date().format(t)},unix:function(){return this.now()/1e3|0},fromUnix:function(t=0){return new Date((t||0)*1e3)},expr:function(t={}){return new Date().expr(t)},toDayRange:function(){const t=new Date,e=t.getFullYear(),n=t.getMonth(),r=t.getDate(),i=new Date(e,n,r).getTime()/1e3|0;return[i,i+86400-1]},toWeekRange:function(){let t=new Date;for(;t.getDay()!=1;)t=new Date(t.getTime()-86400);const e=t.getFullYear(),n=t.getMonth(),r=t.getDate(),i=new Date(e,n,r).getTime()/1e3|0;return[i,i+86400*7-1]},toMonthRange:function(){const t=new Date,e=t.getFullYear(),n=t.getMonth(),r=new Date(e,n,1).getTime()/1e3|0,i=new Date(e,n+1,0,23,59,59).getTime()/1e3|0;return[r,i]},toYearRange:function(){const e=new Date().getFullYear(),n=new Date(e,1,1).getTime()/1e3|0,r=new Date(e+1,1,0,23,59,59).getTime()/1e3|0;return[n,r]}}),h(Date.prototype,{format:function(t="y-m-d h:i:s"){if(this.getTime()===0)return"-";const e={y:this.getFullYear(),m:this.getMonth()+1,d:this.getDate(),h:this.getHours(),i:this.getMinutes(),s:this.getSeconds(),l:this.getMilliseconds(),e:this.getMonthDay()};return t.replace(/([ymdhisle])/ig,(n,r)=>r>="A"&&r<="Z"?e[r.toLowerCase()]:e[r].toString().padStart(r==="l"?3:2,"0"))},unix:function(){return this.getTime()/1e3|0},isLeapYear:function(){return this.getFullYear()%4===0&&this.getFullYear()%400!==0},getMonthDay:function(){return[31,0,31,30,31,30,31,31,30,31,30,31][this.getMonth()]||(this.isLeapYear()?29:28)},expr:function({y:t=0,m:e=0,d:n=0,h:r=0,i=0,s:u=0}){const s=new Date(this.getFullYear()+t,this.getMonth()+e+1,0);return new Date(this.getFullYear()+t,this.getMonth()+e,Math.min(s.getDate(),this.getDate())+n,this.getHours()+r,this.getMinutes()+i,this.getSeconds()+u)},begin:function(t=3){return new Date(...[this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds()].slice(0,t),...[this.getFullYear(),0,1,0,0,0].slice(t))},end:function(t=3){return new Date(...[this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds()].slice(0,t),...[this.getFullYear(),11,t<2?31:this.getMonthDay(),23,59,59].slice(t))},week:function(t,e=1){let n=new Date(this.getTime());for(;n.getDay()!==t;)n=new Date(n.getTime()+864e5*e);return n},toJSON:function(){return this.getTime()}}),h(RegExp,{...d()}),h(RegExp.prototype,{toJSON:function(){return this.toString()}}),h(Promise,{channel:function(){let t=null,e=null;return[new this((r,i)=>{t=r,e=i}),t,e]}}),h(Promise.prototype,{tryCatch:function(){return new Promise(t=>this.then(e=>t([e,null])).catch(e=>t([null,e])))}}),h(JSON,{parse0:function(t,e=null){try{if(typeof t!="string")throw new Error("not string");return JSON.parse(t)}catch{return e}}}),typeof Iterator<"u"&&h(Iterator.prototype,{toArray:function(){return Array.from(this)}}),h(ArrayBuffer.prototype,{toUint8Array:function(){return new Uint8Array(this)}}),typeof Uint8Array.fromBase64>"u"&&(h(Uint8Array,{fromHex:function(t){const e=[];for(let n=0;n<t.length;n+=2)e.push(Number.parseInt(t.substring(n,n+2),16));return new Uint8Array(e)},fromBase64:function(t){const e=[],n={},r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(let u=0;u<r.length;u++)n[r.charAt(u)]=u;const i=t.charAt(t.length-1)!="="?t.length:t.charAt(t.length-2)!="="?t.length-1:t.length-2;for(let u=3;u<i;u+=4){const s=(n[t.charAt(u-3)]<<18)+(n[t.charAt(u-2)]<<12)+(n[t.charAt(u-1)]<<6)+n[t.charAt(u)];e.push((s&16711680)>>16,(s&65280)>>8,s&255)}if(i%4==3){const u=(n[t.charAt(i-3)]<<18)+(n[t.charAt(i-2)]<<12)+(n[t.charAt(i-1)]<<6);e.push((u&16711680)>>16,(u&65280)>>8)}else if(i%4==2){const u=(n[t.charAt(i-2)]<<18)+(n[t.charAt(i-1)]<<12);e.push((u&16711680)>>16)}return new Uint8Array(e)}}),h(Uint8Array.prototype,{toHex:function(){let t="";for(let e=0;e<this.length;e++)t+=(this[e]<16?"0":"")+this[e].toString(16);return t},toBase64:function(){let t="",e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(let n=2;n<this.length;n+=3){const r=(this[n-2]<<16)+(this[n-1]<<8)+this[n];t+=e.charAt((r&16515072)>>18)+e.charAt((r&258048)>>12)+e.charAt((r&4032)>>6)+e.charAt(r&63)}if(this.length%3==2){const n=(this[this.length-2]<<16)+(this[this.length-1]<<8);t+=e.charAt((n&16515072)>>18)+e.charAt((n&258048)>>12)+e.charAt((n&4032)>>6)+"="}else if(this.length%3==1){const n=this[this.length-1]<<16;t+=e.charAt((n&16515072)>>18)+e.charAt((n&258048)>>12)+"=="}return t}})),h(Uint8Array.prototype,{bytes2string:function(){return new TextDecoder().decode(this)},bytes2hex:function(){return this.toHex()},base64encode:function(){return this.toBase64()},toArray:function(){return new Array(...this)}});let O=0,F=0,D=0;h(Math,{randstr:function(t=16,e=0,n="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",r="~!@#$%^&*()_+`{}|[]\\:\";'<>,.?/"){if(t<e)throw new Error("randstr: len < slen");const i=[];for(let u=0;u<t;u++)i.push(n.charAt(Math.random()*n.length|0));for(let u=new Set,s=0,o=0;o<e;o++){do s=Math.random()*t|0;while(u.has(s));u.set(s,!0),i[s]=r.charAt(Math.random()*r.length|0)}return i.join("")},randint:function(t=0,e=Number.MAX_SAFE_INTEGER){return Math.floor(Math.random()*(e-t)+t)},incrid:function(){return++O},incrstr:function(){return""+Math.incrid()},uniqid:function(t=Date.now()){return t===D?t*2048+ ++F%2048:(D=t)*2048+(F=0)%2048},uniqstr:function(){return""+Math.uniqid()},sleep:function(t){return new Promise(e=>setTimeout(e,t))},useTemplate:function(t){let e=null;const n={setup(i,{slots:u}){return e=u.default,()=>{}},name:t+"Template"},r={setup(i,{attrs:u}){return()=>e?.(u)},name:t};return{[n.name]:n,[r.name]:r}}})}));
|