@kizmann/pico-js 1.0.13 → 2.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 +27 -7
- package/dist/pico-js.browser.js +2 -0
- package/dist/pico-js.browser.js.map +1 -0
- package/dist/pico-js.esm.js +2 -0
- package/dist/pico-js.esm.js.map +1 -0
- package/package.json +20 -7
- package/src/dom/DomAttribute.js +374 -0
- package/src/dom/DomBuilder.js +152 -0
- package/src/dom/DomEvent.js +253 -0
- package/src/dom/DomFinder.js +669 -0
- package/src/dom/DomForm.js +57 -0
- package/src/dom/DomGlobal.js +193 -0
- package/src/dom/DomInview.js +332 -0
- package/src/dom/DomMeta.js +66 -0
- package/src/dom/DomObserver.js +57 -0
- package/src/dom/DomRectangle.js +657 -0
- package/src/format/FormatFile.js +54 -0
- package/src/format/FormatOption.js +108 -0
- package/src/format/FormatParam.js +107 -0
- package/src/format/FormatParser.js +156 -0
- package/src/format/FormatUrl.js +75 -0
- package/src/index.browser.js +10 -0
- package/src/index.esm.js +138 -0
- package/src/now/NowDefault.js +533 -0
- package/src/now/NowFormat.js +196 -0
- package/src/now/NowGrid.js +251 -0
- package/src/now/NowHuman.js +118 -0
- package/src/now/NowMatch.js +175 -0
- package/src/now/NowRange.js +70 -0
- package/src/now/NowWalker.js +544 -0
- package/src/tool/scope.js +103 -0
- package/src/utils/Array.js +986 -0
- package/src/utils/Cookie.js +184 -0
- package/src/utils/Data.js +200 -0
- package/src/utils/Dom.js +208 -0
- package/src/utils/Event.js +140 -0
- package/src/utils/Format.js +62 -0
- package/src/utils/Hash.js +164 -0
- package/src/utils/Locale.js +229 -0
- package/src/utils/Mixed.js +887 -0
- package/src/utils/Now.js +234 -0
- package/src/utils/Number.js +238 -0
- package/src/utils/Object.js +655 -0
- package/src/utils/Route.js +67 -0
- package/src/utils/Runner.js +327 -0
- package/src/utils/String.js +618 -0
- package/src/{library/element.js → wip/Element.js} +90 -16
- package/src/{library/map.js → wip/Map.js} +256 -40
- package/types/dom/DomAttribute.d.ts +137 -0
- package/types/dom/DomBuilder.d.ts +67 -0
- package/types/dom/DomEvent.d.ts +103 -0
- package/types/dom/DomFinder.d.ts +321 -0
- package/types/dom/DomForm.d.ts +21 -0
- package/types/dom/DomGlobal.d.ts +79 -0
- package/types/dom/DomInview.d.ts +114 -0
- package/types/dom/DomMeta.d.ts +29 -0
- package/types/dom/DomObserver.d.ts +21 -0
- package/types/dom/DomRectangle.d.ts +270 -0
- package/types/format/FormatFile.d.ts +18 -0
- package/types/format/FormatOption.d.ts +40 -0
- package/types/format/FormatParam.d.ts +39 -0
- package/types/format/FormatParser.d.ts +46 -0
- package/types/format/FormatUrl.d.ts +17 -0
- package/types/index.browser.d.ts +1 -0
- package/types/index.esm.d.ts +52 -0
- package/types/now/NowDefault.d.ts +183 -0
- package/types/now/NowFormat.d.ts +70 -0
- package/types/now/NowGrid.d.ts +107 -0
- package/types/now/NowHuman.d.ts +37 -0
- package/types/now/NowMatch.d.ts +108 -0
- package/types/now/NowRange.d.ts +21 -0
- package/types/now/NowWalker.d.ts +301 -0
- package/types/tool/scope.d.ts +24 -0
- package/types/utils/Array.d.ts +480 -0
- package/types/utils/Cookie.d.ts +60 -0
- package/types/utils/Data.d.ts +91 -0
- package/types/utils/Dom.d.ts +138 -0
- package/types/utils/Event.d.ts +58 -0
- package/types/utils/Format.d.ts +37 -0
- package/types/utils/Hash.d.ts +81 -0
- package/types/utils/Locale.d.ts +115 -0
- package/types/utils/Mixed.d.ts +469 -0
- package/types/utils/Now.d.ts +125 -0
- package/types/utils/Number.d.ts +127 -0
- package/types/utils/Object.d.ts +255 -0
- package/types/utils/Route.d.ts +37 -0
- package/types/utils/Runner.d.ts +139 -0
- package/types/utils/String.d.ts +330 -0
- package/types/wip/Element.d.ts +119 -0
- package/types/wip/Map.d.ts +254 -0
- package/dist/.ignore.js +0 -0
- package/dist/pico-js.js +0 -2
- package/dist/pico-js.js.map +0 -1
- package/src/element/default.js +0 -46
- package/src/element/example.js +0 -58
- package/src/index.js +0 -90
- package/src/library/cookie.js +0 -123
- package/src/library/data.js +0 -111
- package/src/library/event.js +0 -91
- package/src/library/locale.js +0 -84
- package/src/library/queue.js +0 -64
- package/src/library/route.js +0 -28
- package/src/utility/any.js +0 -369
- package/src/utility/array.js +0 -410
- package/src/utility/dom.js +0 -1425
- package/src/utility/now.js +0 -544
- package/src/utility/number.js +0 -128
- package/src/utility/object.js +0 -429
- package/src/utility/string.js +0 -328
- package/types/index.d.ts +0 -77
- package/types/library/cookie.d.ts +0 -10
- package/types/library/data.d.ts +0 -15
- package/types/library/element.d.ts +0 -22
- package/types/library/event.d.ts +0 -13
- package/types/library/locale.d.ts +0 -14
- package/types/library/map.d.ts +0 -43
- package/types/library/queue.d.ts +0 -18
- package/types/library/route.d.ts +0 -11
- package/types/utility/any.d.ts +0 -35
- package/types/utility/array.d.ts +0 -46
- package/types/utility/dom.d.ts +0 -101
- package/types/utility/now.d.ts +0 -79
- package/types/utility/number.d.ts +0 -17
- package/types/utility/object.d.ts +0 -29
- package/types/utility/string.d.ts +0 -26
package/src/utility/array.js
DELETED
|
@@ -1,410 +0,0 @@
|
|
|
1
|
-
import { Obj, Num, Any } from "../index.js"
|
|
2
|
-
|
|
3
|
-
export class Arr
|
|
4
|
-
{
|
|
5
|
-
static make(count)
|
|
6
|
-
{
|
|
7
|
-
return Arr.map(Array(count).fill(null), (val, key) => {
|
|
8
|
-
return Num.int(key) + 1;
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
static all(arr)
|
|
13
|
-
{
|
|
14
|
-
return Array.isArray(arr) ? arr : [arr];
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
static get(arr, index, fallback = null)
|
|
18
|
-
{
|
|
19
|
-
return arr[index] || fallback;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
static set(arr, index, value)
|
|
23
|
-
{
|
|
24
|
-
return arr[index] = value;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
static first(arr, fallback = null)
|
|
28
|
-
{
|
|
29
|
-
return (Array.isArray(arr) ? arr[0] :
|
|
30
|
-
arr) || fallback;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
static second(arr, fallback = null)
|
|
34
|
-
{
|
|
35
|
-
return (Array.isArray(arr) ? arr[1] ||
|
|
36
|
-
arr[0] : arr) || fallback;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
static third(arr, fallback = null)
|
|
40
|
-
{
|
|
41
|
-
return (Array.isArray(arr) ? arr[2] ||
|
|
42
|
-
arr[1] || arr[0] : arr) || fallback;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
static last(arr, fallback = null)
|
|
46
|
-
{
|
|
47
|
-
return (Array.isArray(arr) ? arr[arr.length - 1] :
|
|
48
|
-
arr) || fallback;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
static prepend(arr, val)
|
|
52
|
-
{
|
|
53
|
-
arr.splice(0, 0, val);
|
|
54
|
-
return arr;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
static append(arr, val)
|
|
58
|
-
{
|
|
59
|
-
arr.splice(arr.length, 0, val);
|
|
60
|
-
return arr;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
static sort(obj, key)
|
|
64
|
-
{
|
|
65
|
-
let keys = Any.keys(obj);
|
|
66
|
-
|
|
67
|
-
if ( Any.isFunction(key) ) {
|
|
68
|
-
keys = keys.sort((a, b) => {
|
|
69
|
-
return key.call({}, obj[a], obj[b]);
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if ( ! Any.isFunction(key) ) {
|
|
74
|
-
keys = keys.sort((a, b) => {
|
|
75
|
-
return Any.integer(Obj.get(obj[a], key)) - Any.integer(Obj.get(obj[b], key));
|
|
76
|
-
})
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
let result = [];
|
|
80
|
-
|
|
81
|
-
Arr.each(keys, (key, index) => {
|
|
82
|
-
obj[key]['_key'] = key;
|
|
83
|
-
result[index] = obj[key];
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
return result;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
static sortString(obj, key)
|
|
90
|
-
{
|
|
91
|
-
let keys = Any.keys(obj);
|
|
92
|
-
|
|
93
|
-
if ( ! Any.isFunction(key) ) {
|
|
94
|
-
keys = keys.sort((a, b) => {
|
|
95
|
-
|
|
96
|
-
let va = Any.string(Obj.get(obj[a], key)).toLowerCase();
|
|
97
|
-
let vb = Any.string(Obj.get(obj[b], key)).toLowerCase();
|
|
98
|
-
|
|
99
|
-
return(va < vb) ? -1 : (va > vb) ? 1 : 0;
|
|
100
|
-
})
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
let result = [];
|
|
104
|
-
|
|
105
|
-
Arr.each(keys, (key, index) => {
|
|
106
|
-
obj[key]['_key'] = key;
|
|
107
|
-
result[index] = obj[key];
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
return result;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
static filter(arr, filter)
|
|
115
|
-
{
|
|
116
|
-
return Arr.each(Arr.filterIndex(arr, filter), (key) => {
|
|
117
|
-
return arr[key];
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
static filterIndex(arr, filter)
|
|
122
|
-
{
|
|
123
|
-
return Any.keys(arr).filter((key) => {
|
|
124
|
-
|
|
125
|
-
if ( typeof filter === "undefined" ) {
|
|
126
|
-
return ! Any.isEmpty(arr[key]);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
if ( Any.isFunction(filter) ) {
|
|
130
|
-
return filter.call({}, arr[key], key);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
if ( Any.isPlain(filter) ) {
|
|
134
|
-
return Obj.includes(filter, arr[key]);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
if ( Any.isArray(filter) ) {
|
|
138
|
-
return Arr.includes(filter, arr[key]);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
return filter === arr[key];
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
static find(arr, val, fallback = null)
|
|
146
|
-
{
|
|
147
|
-
return Arr.first(Arr.filter(arr, val)) || fallback;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
static findIndex(arr, val, fallback = -1)
|
|
151
|
-
{
|
|
152
|
-
return Any.integer(Arr.first(Arr.filterIndex(arr, val)) || fallback);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
static has(arr, val)
|
|
156
|
-
{
|
|
157
|
-
return this.findIndex(arr, val) !== - 1;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
static add(arr, val, finder = null)
|
|
161
|
-
{
|
|
162
|
-
let index = this.findIndex(arr, finder || val);
|
|
163
|
-
|
|
164
|
-
if ( index === - 1 ) {
|
|
165
|
-
arr.push(val);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
return arr;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
static replace(arr, val, finder = null)
|
|
172
|
-
{
|
|
173
|
-
let index = this.findIndex(arr, finder || val);
|
|
174
|
-
|
|
175
|
-
if ( index !== - 1 ) {
|
|
176
|
-
arr.splice(index, 1);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
arr.push(val);
|
|
180
|
-
|
|
181
|
-
return arr;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
static remove(arr, val)
|
|
185
|
-
{
|
|
186
|
-
let index = this.findIndex(arr, val);
|
|
187
|
-
|
|
188
|
-
if ( index !== - 1 ) {
|
|
189
|
-
arr.splice(index, 1);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
return arr;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
static toggle(arr, val)
|
|
196
|
-
{
|
|
197
|
-
let index = this.findIndex(arr, val);
|
|
198
|
-
|
|
199
|
-
if ( index !== - 1 ) {
|
|
200
|
-
arr.splice(index, 1);
|
|
201
|
-
} else {
|
|
202
|
-
arr.push(val);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
return arr;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
static removeIndex(arr, val)
|
|
209
|
-
{
|
|
210
|
-
if ( val < arr.length ) {
|
|
211
|
-
arr.splice(Num.int(val), 1);
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
return arr;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
static insert(arr, key, val)
|
|
218
|
-
{
|
|
219
|
-
arr.splice(Num.int(key), 0, val);
|
|
220
|
-
|
|
221
|
-
return arr;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
static slice(arr, key, count = 1)
|
|
225
|
-
{
|
|
226
|
-
return arr.slice(Num.int(key), count);
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
static splice(arr, key, count = 1)
|
|
230
|
-
{
|
|
231
|
-
return arr.splice(Num.int(key), count);
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
static equal(arr1, arr2)
|
|
235
|
-
{
|
|
236
|
-
let complete = this.merge([], arr1, arr2);
|
|
237
|
-
|
|
238
|
-
let rainbow = this.each(complete, (value) => {
|
|
239
|
-
return this.has(arr1, value) && this.has(arr2, value);
|
|
240
|
-
});
|
|
241
|
-
|
|
242
|
-
return ! this.has(rainbow, false);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
static includes(arr, val)
|
|
246
|
-
{
|
|
247
|
-
if ( Any.isString(val) ) {
|
|
248
|
-
val = [val];
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
let result = false;
|
|
252
|
-
|
|
253
|
-
for ( let key of Any.vals(arr) ) {
|
|
254
|
-
result = val.indexOf(key) !== -1 || result;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
return result;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
static contains(arr, val)
|
|
261
|
-
{
|
|
262
|
-
let result = true;
|
|
263
|
-
|
|
264
|
-
for ( let key of Any.vals(val) ) {
|
|
265
|
-
result = Any.vals(arr).indexOf(key) !== -1 && result;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
return result;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
static concat(arr, ...args)
|
|
272
|
-
{
|
|
273
|
-
return arr.concat(...args);
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
static clone(arr)
|
|
277
|
-
{
|
|
278
|
-
let clone;
|
|
279
|
-
|
|
280
|
-
if ( Any.isPlain(arr) ){
|
|
281
|
-
return Obj.clone(arr);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
if ( Any.isArray(arr) ){
|
|
285
|
-
|
|
286
|
-
clone = [];
|
|
287
|
-
|
|
288
|
-
for ( let key of Any.keys(arr) ) {
|
|
289
|
-
clone[key] = Obj.clone(arr[key]);
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
return clone;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
return clone || arr;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
static merge(arr, ...args)
|
|
299
|
-
{
|
|
300
|
-
return arr.concat(...args);
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
static push(arr, ...args)
|
|
304
|
-
{
|
|
305
|
-
arr.push(...args);
|
|
306
|
-
|
|
307
|
-
return arr;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
static diff(arr, val)
|
|
311
|
-
{
|
|
312
|
-
return arr.filter((diff) => val.indexOf(diff) < 0);
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
static intersect(...args)
|
|
316
|
-
{
|
|
317
|
-
return args.reduce((a, c) => a.filter(i => c.includes(i)));
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
static chunk(arr, chunk = 10)
|
|
321
|
-
{
|
|
322
|
-
let res = [];
|
|
323
|
-
|
|
324
|
-
for ( let i = 0; i < arr.length; i += chunk ) {
|
|
325
|
-
res.push(arr.slice(i, i + chunk));
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
return res;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
static reduce(arr, callback, accumulator)
|
|
332
|
-
{
|
|
333
|
-
return Object.values(arr).reduce(callback, accumulator);
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
static extract(arr, path)
|
|
337
|
-
{
|
|
338
|
-
return this.each(arr, (val) => Obj.get(val, path, null));
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
static each(arr, callback)
|
|
342
|
-
{
|
|
343
|
-
let result = Arr.clone(arr);
|
|
344
|
-
|
|
345
|
-
for ( let key of Any.keys(result) ) {
|
|
346
|
-
result[key] = callback(result[key], Any.isNumber(key) ?
|
|
347
|
-
Any.integer(key) : key);
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
return Any.vals(result);
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
static map(arr, callback)
|
|
354
|
-
{
|
|
355
|
-
let result = Arr.clone(arr);
|
|
356
|
-
|
|
357
|
-
for ( let key of Any.keys(result) ) {
|
|
358
|
-
result[key] = arr[key] = callback(result[key], Any.isNumber(key) ?
|
|
359
|
-
Any.integer(key) : key);
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
return result;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
static recursive(arr, key, callback, cascade = [])
|
|
366
|
-
{
|
|
367
|
-
if ( Any.isArray(arr) === true ) {
|
|
368
|
-
return this.map(arr, (val) => {
|
|
369
|
-
return this.recursive(val, key, callback, cascade);
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
if ( Any.isObject(arr) === true ) {
|
|
374
|
-
|
|
375
|
-
let res = callback(arr, cascade);
|
|
376
|
-
|
|
377
|
-
arr = res !== undefined ?
|
|
378
|
-
res : arr;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
if ( Any.isArray(arr[key]) === true ) {
|
|
382
|
-
|
|
383
|
-
cascade = Arr.clone(cascade);
|
|
384
|
-
|
|
385
|
-
Arr.push(cascade, arr);
|
|
386
|
-
|
|
387
|
-
arr[key] = this.map(arr[key], (val) => {
|
|
388
|
-
return this.recursive(val, key, callback, cascade);
|
|
389
|
-
});
|
|
390
|
-
|
|
391
|
-
return arr;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
if ( Any.isEmpty(arr[key]) === false ) {
|
|
395
|
-
|
|
396
|
-
cascade = Arr.clone(cascade);
|
|
397
|
-
|
|
398
|
-
Arr.push(cascade, arr);
|
|
399
|
-
|
|
400
|
-
arr[key] = this.recursive(arr[key], key, callback, cascade);
|
|
401
|
-
|
|
402
|
-
return arr;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
return arr;
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
export default Arr;
|