@kizmann/pico-js 2.0.7 → 2.0.9
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/pico-js.browser.js +1 -1
- package/dist/pico-js.browser.js.map +1 -1
- package/dist/pico-js.esm.js +1 -1
- package/dist/pico-js.esm.js.map +1 -1
- package/package.json +4 -6
- package/src/dom/{DomAttribute.js → DomAttribute.ts} +40 -63
- package/src/dom/{DomBuilder.js → DomBuilder.ts} +27 -44
- package/src/dom/{DomEvent.js → DomEvent.ts} +101 -76
- package/src/dom/{DomFinder.js → DomFinder.ts} +103 -139
- package/src/dom/DomForm.ts +38 -0
- package/src/dom/{DomGlobal.js → DomGlobal.ts} +34 -51
- package/src/dom/{DomInview.js → DomInview.ts} +37 -57
- package/src/dom/DomMeta.ts +48 -0
- package/src/dom/DomObserver.ts +17 -0
- package/src/dom/{DomPopover.js → DomPopover.ts} +20 -39
- package/src/dom/{DomRectangle.js → DomRectangle.ts} +70 -87
- package/src/format/{FormatFile.js → FormatFile.ts} +12 -23
- package/src/format/{FormatOption.js → FormatOption.ts} +15 -24
- package/src/format/{FormatParam.js → FormatParam.ts} +14 -25
- package/src/format/{FormatParser.js → FormatParser.ts} +29 -39
- package/src/format/{FormatUrl.js → FormatUrl.ts} +9 -21
- package/src/index.browser.ts +32 -0
- package/src/index.esm.ts +64 -0
- package/src/now/{NowDefault.js → NowDefault.ts} +86 -121
- package/src/now/{NowFormat.js → NowFormat.ts} +23 -28
- package/src/now/{NowGrid.js → NowGrid.ts} +41 -58
- package/src/now/{NowHuman.js → NowHuman.ts} +18 -27
- package/src/now/{NowMatch.js → NowMatch.ts} +22 -28
- package/src/now/{NowRange.js → NowRange.ts} +13 -22
- package/src/now/{NowWalker.js → NowWalker.ts} +65 -71
- package/src/tool/{scope.js → scope.ts} +41 -11
- package/src/utils/{Array.js → Array.ts} +187 -152
- package/src/utils/{Cookie.js → Cookie.ts} +15 -12
- package/src/utils/{Data.js → Data.ts} +17 -17
- package/src/utils/Dom.ts +204 -0
- package/src/utils/Format.ts +48 -0
- package/src/utils/{Hash.js → Hash.ts} +20 -20
- package/src/utils/{Locale.js → Locale.ts} +21 -21
- package/src/utils/{Mixed.js → Mixed.ts} +104 -61
- package/src/utils/{Now.js → Now.ts} +68 -69
- package/src/utils/{Number.js → Number.ts} +34 -36
- package/src/utils/{Object.js → Object.ts} +68 -122
- package/src/utils/{Route.js → Route.ts} +11 -9
- package/src/utils/{Runner.js → Runner.ts} +89 -77
- package/src/utils/{Signal.js → Signal.ts} +35 -22
- package/src/utils/{String.js → String.ts} +79 -69
- package/src/wip/{Element.js → Element.ts} +2 -2
- package/src/wip/{Map.js → Map.ts} +1 -1
- package/types/dom/DomAttribute.d.ts +16 -27
- package/types/dom/DomBuilder.d.ts +6 -9
- package/types/dom/DomEvent.d.ts +19 -24
- package/types/dom/DomFinder.d.ts +38 -61
- package/types/dom/DomForm.d.ts +7 -10
- package/types/dom/DomGlobal.d.ts +8 -15
- package/types/dom/DomInview.d.ts +9 -19
- package/types/dom/DomMeta.d.ts +9 -16
- package/types/dom/DomObserver.d.ts +4 -8
- package/types/dom/DomPopover.d.ts +8 -11
- package/types/dom/DomRectangle.d.ts +21 -35
- package/types/format/FormatFile.d.ts +5 -8
- package/types/format/FormatOption.d.ts +6 -8
- package/types/format/FormatParam.d.ts +6 -9
- package/types/format/FormatParser.d.ts +10 -18
- package/types/format/FormatUrl.d.ts +5 -8
- package/types/index.esm.d.ts +25 -37
- package/types/now/NowDefault.d.ts +30 -99
- package/types/now/NowFormat.d.ts +8 -21
- package/types/now/NowGrid.d.ts +24 -46
- package/types/now/NowHuman.d.ts +10 -11
- package/types/now/NowMatch.d.ts +6 -4
- package/types/now/NowRange.d.ts +5 -8
- package/types/now/NowWalker.d.ts +6 -4
- package/types/tool/scope.d.ts +11 -3
- package/types/utils/Array.d.ts +83 -101
- package/types/utils/Cookie.d.ts +11 -8
- package/types/utils/Data.d.ts +7 -7
- package/types/utils/Dom.d.ts +63 -96
- package/types/utils/Format.d.ts +15 -28
- package/types/utils/Hash.d.ts +21 -21
- package/types/utils/Locale.d.ts +9 -9
- package/types/utils/Mixed.d.ts +19 -32
- package/types/utils/Now.d.ts +51 -56
- package/types/utils/Number.d.ts +9 -20
- package/types/utils/Object.d.ts +21 -36
- package/types/utils/Route.d.ts +5 -2
- package/types/utils/Runner.d.ts +45 -38
- package/types/utils/Signal.d.ts +16 -16
- package/types/utils/String.d.ts +40 -76
- package/src/dom/DomForm.js +0 -59
- package/src/dom/DomMeta.js +0 -68
- package/src/dom/DomObserver.js +0 -38
- package/src/index.browser.js +0 -36
- package/src/index.esm.js +0 -80
- package/src/utils/Dom.js +0 -214
- package/src/utils/Format.js +0 -62
- package/types/wip/Element.d.ts +0 -119
- package/types/wip/Map.d.ts +0 -254
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import { Mix, Now, Obj } from "../index.esm.
|
|
2
|
-
import { PicoNow } from "../utils/Now.
|
|
1
|
+
import { Mix, Now, Obj } from "../index.esm.ts";
|
|
2
|
+
import { PicoNow, PicoNowInterface } from "../utils/Now.ts";
|
|
3
|
+
import PicoNowDefault from "./NowDefault.js";
|
|
4
|
+
|
|
5
|
+
export interface PicoNowWalker extends PicoNowInterface,
|
|
6
|
+
PicoNowDefault
|
|
7
|
+
{
|
|
8
|
+
//
|
|
9
|
+
}
|
|
3
10
|
|
|
4
11
|
/**
|
|
5
12
|
* @memberof PicoNow
|
|
6
|
-
* @extends {PicoNow}
|
|
7
13
|
*/
|
|
8
|
-
export class
|
|
14
|
+
export class PicoNowWalker
|
|
9
15
|
{
|
|
10
|
-
|
|
11
16
|
/**
|
|
12
17
|
* Get previous date by scope
|
|
13
18
|
*
|
|
@@ -16,17 +21,17 @@ export class PicoNowWalkerInstance
|
|
|
16
21
|
* @param {string} [scope] Target scope
|
|
17
22
|
* @returns {PicoNow} New instance
|
|
18
23
|
*/
|
|
19
|
-
prev(scope = 'date')
|
|
24
|
+
prev(scope:string = 'date'): PicoNow
|
|
20
25
|
{
|
|
21
26
|
if ( /^days?$/i.test(scope) ) {
|
|
22
27
|
scope = 'date';
|
|
23
28
|
}
|
|
24
29
|
|
|
25
30
|
if ( /^decades?$/i.test(scope) ) {
|
|
26
|
-
return this.clone().sub(10, 'year');
|
|
31
|
+
return <PicoNow> <unknown> this.clone().sub(10, 'year');
|
|
27
32
|
}
|
|
28
33
|
|
|
29
|
-
return this.clone().sub(1, scope);
|
|
34
|
+
return <PicoNow> <unknown> this.clone().sub(1, scope);
|
|
30
35
|
}
|
|
31
36
|
|
|
32
37
|
/**
|
|
@@ -37,17 +42,17 @@ export class PicoNowWalkerInstance
|
|
|
37
42
|
* @param {string} [scope] Target scope
|
|
38
43
|
* @returns {PicoNow} New instance
|
|
39
44
|
*/
|
|
40
|
-
next(scope = 'day')
|
|
45
|
+
next(scope:string = 'day'): PicoNow
|
|
41
46
|
{
|
|
42
47
|
if ( /^days?$/i.test(scope) ) {
|
|
43
48
|
scope = 'date';
|
|
44
49
|
}
|
|
45
50
|
|
|
46
51
|
if ( /^decades?$/i.test(scope) ) {
|
|
47
|
-
return this.clone().add(10, 'year');
|
|
52
|
+
return <PicoNow> <unknown> this.clone().add(10, 'year');
|
|
48
53
|
}
|
|
49
54
|
|
|
50
|
-
return this.clone().add(1, scope);
|
|
55
|
+
return <PicoNow> <unknown> this.clone().add(1, scope);
|
|
51
56
|
}
|
|
52
57
|
|
|
53
58
|
/**
|
|
@@ -57,7 +62,7 @@ export class PicoNowWalkerInstance
|
|
|
57
62
|
*
|
|
58
63
|
* @returns {PicoNow} New instance
|
|
59
64
|
*/
|
|
60
|
-
prevSecond()
|
|
65
|
+
prevSecond(): PicoNow
|
|
61
66
|
{
|
|
62
67
|
return this.prev('second');
|
|
63
68
|
}
|
|
@@ -69,7 +74,7 @@ export class PicoNowWalkerInstance
|
|
|
69
74
|
*
|
|
70
75
|
* @returns {PicoNow} New instance
|
|
71
76
|
*/
|
|
72
|
-
nextSecond()
|
|
77
|
+
nextSecond(): PicoNow
|
|
73
78
|
{
|
|
74
79
|
return this.next('second');
|
|
75
80
|
}
|
|
@@ -81,7 +86,7 @@ export class PicoNowWalkerInstance
|
|
|
81
86
|
*
|
|
82
87
|
* @returns {PicoNow} New instance
|
|
83
88
|
*/
|
|
84
|
-
prevMinute()
|
|
89
|
+
prevMinute(): PicoNow
|
|
85
90
|
{
|
|
86
91
|
return this.prev('minute');
|
|
87
92
|
}
|
|
@@ -93,7 +98,7 @@ export class PicoNowWalkerInstance
|
|
|
93
98
|
*
|
|
94
99
|
* @returns {PicoNow} New instance
|
|
95
100
|
*/
|
|
96
|
-
nextMinute()
|
|
101
|
+
nextMinute(): PicoNow
|
|
97
102
|
{
|
|
98
103
|
return this.next('minute');
|
|
99
104
|
}
|
|
@@ -105,7 +110,7 @@ export class PicoNowWalkerInstance
|
|
|
105
110
|
*
|
|
106
111
|
* @returns {PicoNow} New instance
|
|
107
112
|
*/
|
|
108
|
-
prevHour()
|
|
113
|
+
prevHour(): PicoNow
|
|
109
114
|
{
|
|
110
115
|
return this.prev('hour');
|
|
111
116
|
}
|
|
@@ -117,7 +122,7 @@ export class PicoNowWalkerInstance
|
|
|
117
122
|
*
|
|
118
123
|
* @returns {PicoNow} New instance
|
|
119
124
|
*/
|
|
120
|
-
nextHour()
|
|
125
|
+
nextHour(): PicoNow
|
|
121
126
|
{
|
|
122
127
|
return this.next('hour');
|
|
123
128
|
}
|
|
@@ -129,7 +134,7 @@ export class PicoNowWalkerInstance
|
|
|
129
134
|
*
|
|
130
135
|
* @returns {PicoNow} New instance
|
|
131
136
|
*/
|
|
132
|
-
prevDate()
|
|
137
|
+
prevDate(): PicoNow
|
|
133
138
|
{
|
|
134
139
|
return this.prev('date');
|
|
135
140
|
}
|
|
@@ -141,7 +146,7 @@ export class PicoNowWalkerInstance
|
|
|
141
146
|
*
|
|
142
147
|
* @returns {PicoNow} New instance
|
|
143
148
|
*/
|
|
144
|
-
nextDate()
|
|
149
|
+
nextDate(): PicoNow
|
|
145
150
|
{
|
|
146
151
|
return this.next('date');
|
|
147
152
|
}
|
|
@@ -153,7 +158,7 @@ export class PicoNowWalkerInstance
|
|
|
153
158
|
*
|
|
154
159
|
* @returns {PicoNow} New instance
|
|
155
160
|
*/
|
|
156
|
-
prevMonth()
|
|
161
|
+
prevMonth(): PicoNow
|
|
157
162
|
{
|
|
158
163
|
return this.prev('month');
|
|
159
164
|
}
|
|
@@ -165,7 +170,7 @@ export class PicoNowWalkerInstance
|
|
|
165
170
|
*
|
|
166
171
|
* @returns {PicoNow} New instance
|
|
167
172
|
*/
|
|
168
|
-
nextMonth()
|
|
173
|
+
nextMonth(): PicoNow
|
|
169
174
|
{
|
|
170
175
|
return this.next('month');
|
|
171
176
|
}
|
|
@@ -177,7 +182,7 @@ export class PicoNowWalkerInstance
|
|
|
177
182
|
*
|
|
178
183
|
* @returns {PicoNow} New instance
|
|
179
184
|
*/
|
|
180
|
-
prevYear()
|
|
185
|
+
prevYear(): PicoNow
|
|
181
186
|
{
|
|
182
187
|
return this.prev('year');
|
|
183
188
|
}
|
|
@@ -189,7 +194,7 @@ export class PicoNowWalkerInstance
|
|
|
189
194
|
*
|
|
190
195
|
* @returns {PicoNow} New instance
|
|
191
196
|
*/
|
|
192
|
-
nextYear()
|
|
197
|
+
nextYear(): PicoNow
|
|
193
198
|
{
|
|
194
199
|
return this.next('year');
|
|
195
200
|
}
|
|
@@ -201,7 +206,7 @@ export class PicoNowWalkerInstance
|
|
|
201
206
|
*
|
|
202
207
|
* @returns {PicoNow} New instance
|
|
203
208
|
*/
|
|
204
|
-
prevDecade()
|
|
209
|
+
prevDecade(): PicoNow
|
|
205
210
|
{
|
|
206
211
|
return this.prev('decade');
|
|
207
212
|
}
|
|
@@ -213,7 +218,7 @@ export class PicoNowWalkerInstance
|
|
|
213
218
|
*
|
|
214
219
|
* @returns {PicoNow} New instance
|
|
215
220
|
*/
|
|
216
|
-
nextDecade()
|
|
221
|
+
nextDecade(): PicoNow
|
|
217
222
|
{
|
|
218
223
|
return this.next('decade');
|
|
219
224
|
}
|
|
@@ -226,7 +231,7 @@ export class PicoNowWalkerInstance
|
|
|
226
231
|
* @param {string} [scope] Target scope
|
|
227
232
|
* @returns {PicoNow} New instance
|
|
228
233
|
*/
|
|
229
|
-
first(scope = 'date')
|
|
234
|
+
first(scope:string = 'date'): PicoNow
|
|
230
235
|
{
|
|
231
236
|
if ( /^seconds?$/i.test(scope) ) {
|
|
232
237
|
return this.firstSecond();
|
|
@@ -271,7 +276,7 @@ export class PicoNowWalkerInstance
|
|
|
271
276
|
* @param {string} [scope] Target scope
|
|
272
277
|
* @returns {PicoNow} New instance
|
|
273
278
|
*/
|
|
274
|
-
last(scope = 'date')
|
|
279
|
+
last(scope:string = 'date'): PicoNow
|
|
275
280
|
{
|
|
276
281
|
if ( /^seconds?$/i.test(scope) ) {
|
|
277
282
|
return this.lastSecond();
|
|
@@ -315,9 +320,9 @@ export class PicoNowWalkerInstance
|
|
|
315
320
|
*
|
|
316
321
|
* @returns {PicoNow} New instance
|
|
317
322
|
*/
|
|
318
|
-
firstSecond()
|
|
323
|
+
firstSecond(): PicoNow
|
|
319
324
|
{
|
|
320
|
-
return this.clone().set(0, 'second');
|
|
325
|
+
return <PicoNow> <unknown> this.clone().set(0, 'second');
|
|
321
326
|
}
|
|
322
327
|
|
|
323
328
|
/**
|
|
@@ -327,9 +332,9 @@ export class PicoNowWalkerInstance
|
|
|
327
332
|
*
|
|
328
333
|
* @returns {PicoNow} New instance
|
|
329
334
|
*/
|
|
330
|
-
lastSecond()
|
|
335
|
+
lastSecond(): PicoNow
|
|
331
336
|
{
|
|
332
|
-
return this.clone().set(59, 'second');
|
|
337
|
+
return <PicoNow> <unknown> this.clone().set(59, 'second');
|
|
333
338
|
}
|
|
334
339
|
|
|
335
340
|
/**
|
|
@@ -339,9 +344,9 @@ export class PicoNowWalkerInstance
|
|
|
339
344
|
*
|
|
340
345
|
* @returns {PicoNow} New instance
|
|
341
346
|
*/
|
|
342
|
-
firstMinute()
|
|
347
|
+
firstMinute(): PicoNow
|
|
343
348
|
{
|
|
344
|
-
return this.clone().set(0, 'minute');
|
|
349
|
+
return <PicoNow> <unknown> this.clone().set(0, 'minute');
|
|
345
350
|
}
|
|
346
351
|
|
|
347
352
|
/**
|
|
@@ -351,9 +356,9 @@ export class PicoNowWalkerInstance
|
|
|
351
356
|
*
|
|
352
357
|
* @returns {PicoNow} New instance
|
|
353
358
|
*/
|
|
354
|
-
lastMinute()
|
|
359
|
+
lastMinute(): PicoNow
|
|
355
360
|
{
|
|
356
|
-
return this.clone().set(59, 'minute');
|
|
361
|
+
return <PicoNow> <unknown> this.clone().set(59, 'minute');
|
|
357
362
|
}
|
|
358
363
|
|
|
359
364
|
/**
|
|
@@ -363,9 +368,9 @@ export class PicoNowWalkerInstance
|
|
|
363
368
|
*
|
|
364
369
|
* @returns {PicoNow} New instance
|
|
365
370
|
*/
|
|
366
|
-
firstHour()
|
|
371
|
+
firstHour(): PicoNow
|
|
367
372
|
{
|
|
368
|
-
return this.clone().set(0, 'hour');
|
|
373
|
+
return <PicoNow> <unknown> this.clone().set(0, 'hour');
|
|
369
374
|
}
|
|
370
375
|
|
|
371
376
|
/**
|
|
@@ -375,9 +380,9 @@ export class PicoNowWalkerInstance
|
|
|
375
380
|
*
|
|
376
381
|
* @returns {PicoNow} New instance
|
|
377
382
|
*/
|
|
378
|
-
lastHour()
|
|
383
|
+
lastHour(): PicoNow
|
|
379
384
|
{
|
|
380
|
-
return this.clone().set(23, 'hour');
|
|
385
|
+
return <PicoNow> <unknown> this.clone().set(23, 'hour');
|
|
381
386
|
}
|
|
382
387
|
|
|
383
388
|
/**
|
|
@@ -387,9 +392,9 @@ export class PicoNowWalkerInstance
|
|
|
387
392
|
*
|
|
388
393
|
* @returns {PicoNow} New instance
|
|
389
394
|
*/
|
|
390
|
-
firstDay()
|
|
395
|
+
firstDay(): PicoNow
|
|
391
396
|
{
|
|
392
|
-
return this.clone().set(0, 'day');
|
|
397
|
+
return <PicoNow> <unknown> this.clone().set(0, 'day');
|
|
393
398
|
}
|
|
394
399
|
|
|
395
400
|
/**
|
|
@@ -399,9 +404,9 @@ export class PicoNowWalkerInstance
|
|
|
399
404
|
*
|
|
400
405
|
* @returns {PicoNow} New instance
|
|
401
406
|
*/
|
|
402
|
-
lastDay()
|
|
407
|
+
lastDay(): PicoNow
|
|
403
408
|
{
|
|
404
|
-
return this.clone().set(6, 'day');
|
|
409
|
+
return <PicoNow> <unknown> this.clone().set(6, 'day');
|
|
405
410
|
}
|
|
406
411
|
|
|
407
412
|
/**
|
|
@@ -411,9 +416,9 @@ export class PicoNowWalkerInstance
|
|
|
411
416
|
*
|
|
412
417
|
* @returns {PicoNow} New instance
|
|
413
418
|
*/
|
|
414
|
-
firstDate()
|
|
419
|
+
firstDate(): PicoNow
|
|
415
420
|
{
|
|
416
|
-
return this.clone().set(1, 'date');
|
|
421
|
+
return <PicoNow> <unknown> this.clone().set(1, 'date');
|
|
417
422
|
}
|
|
418
423
|
|
|
419
424
|
/**
|
|
@@ -423,9 +428,9 @@ export class PicoNowWalkerInstance
|
|
|
423
428
|
*
|
|
424
429
|
* @returns {PicoNow} New instance
|
|
425
430
|
*/
|
|
426
|
-
lastDate()
|
|
431
|
+
lastDate(): PicoNow
|
|
427
432
|
{
|
|
428
|
-
return this.clone().next('month').set(0, 'date');
|
|
433
|
+
return <PicoNow> <unknown> this.clone().next('month').set(0, 'date');
|
|
429
434
|
}
|
|
430
435
|
|
|
431
436
|
/**
|
|
@@ -435,9 +440,9 @@ export class PicoNowWalkerInstance
|
|
|
435
440
|
*
|
|
436
441
|
* @returns {PicoNow} New instance
|
|
437
442
|
*/
|
|
438
|
-
firstMonth()
|
|
443
|
+
firstMonth(): PicoNow
|
|
439
444
|
{
|
|
440
|
-
return this.clone().set(1, 'month');
|
|
445
|
+
return <PicoNow> <unknown> this.clone().set(1, 'month');
|
|
441
446
|
}
|
|
442
447
|
|
|
443
448
|
/**
|
|
@@ -447,9 +452,9 @@ export class PicoNowWalkerInstance
|
|
|
447
452
|
*
|
|
448
453
|
* @returns {PicoNow} New instance
|
|
449
454
|
*/
|
|
450
|
-
lastMonth()
|
|
455
|
+
lastMonth(): PicoNow
|
|
451
456
|
{
|
|
452
|
-
return this.clone().set(12, 'month');
|
|
457
|
+
return <PicoNow> <unknown> this.clone().set(12, 'month');
|
|
453
458
|
}
|
|
454
459
|
|
|
455
460
|
/**
|
|
@@ -460,11 +465,11 @@ export class PicoNowWalkerInstance
|
|
|
460
465
|
* @param {number} [n] Year index
|
|
461
466
|
* @returns {PicoNow} New instance
|
|
462
467
|
*/
|
|
463
|
-
nthYear(n = 0)
|
|
468
|
+
nthYear(n:number = 0): PicoNow
|
|
464
469
|
{
|
|
465
470
|
let year = Math.floor(this.year() / 10) * 10;
|
|
466
471
|
|
|
467
|
-
return this.clone().set(year + n, 'year');
|
|
472
|
+
return <PicoNow> <unknown> this.clone().set(year + n, 'year');
|
|
468
473
|
}
|
|
469
474
|
|
|
470
475
|
/**
|
|
@@ -474,7 +479,7 @@ export class PicoNowWalkerInstance
|
|
|
474
479
|
*
|
|
475
480
|
* @returns {PicoNow} New instance
|
|
476
481
|
*/
|
|
477
|
-
firstYear()
|
|
482
|
+
firstYear(): PicoNow
|
|
478
483
|
{
|
|
479
484
|
return this.nthYear(0);
|
|
480
485
|
}
|
|
@@ -486,7 +491,7 @@ export class PicoNowWalkerInstance
|
|
|
486
491
|
*
|
|
487
492
|
* @returns {PicoNow} New instance
|
|
488
493
|
*/
|
|
489
|
-
lastYear()
|
|
494
|
+
lastYear(): PicoNow
|
|
490
495
|
{
|
|
491
496
|
return this.nthYear(9);
|
|
492
497
|
}
|
|
@@ -499,11 +504,11 @@ export class PicoNowWalkerInstance
|
|
|
499
504
|
* @param {number} [n] Decade index
|
|
500
505
|
* @returns {PicoNow} New instance
|
|
501
506
|
*/
|
|
502
|
-
nthDecade(n = 0)
|
|
507
|
+
nthDecade(n:number = 0): PicoNow
|
|
503
508
|
{
|
|
504
509
|
let year = Math.floor(this.year() / 100) * 100;
|
|
505
510
|
|
|
506
|
-
return this.clone().set(year + (n * 10), 'year');
|
|
511
|
+
return <PicoNow> <unknown> this.clone().set(year + (n * 10), 'year');
|
|
507
512
|
}
|
|
508
513
|
|
|
509
514
|
/**
|
|
@@ -513,7 +518,7 @@ export class PicoNowWalkerInstance
|
|
|
513
518
|
*
|
|
514
519
|
* @returns {PicoNow} New instance
|
|
515
520
|
*/
|
|
516
|
-
firstDecade()
|
|
521
|
+
firstDecade(): PicoNow
|
|
517
522
|
{
|
|
518
523
|
return this.nthDecade(0);
|
|
519
524
|
}
|
|
@@ -525,22 +530,11 @@ export class PicoNowWalkerInstance
|
|
|
525
530
|
*
|
|
526
531
|
* @returns {PicoNow} New instance
|
|
527
532
|
*/
|
|
528
|
-
lastDecade()
|
|
533
|
+
lastDecade(): PicoNow
|
|
529
534
|
{
|
|
530
535
|
return this.nthDecade(9);
|
|
531
536
|
}
|
|
532
537
|
|
|
533
538
|
}
|
|
534
539
|
|
|
535
|
-
|
|
536
|
-
* @param {typeof PicoNow} self
|
|
537
|
-
* @returns {typeof PicoNow}
|
|
538
|
-
*/
|
|
539
|
-
export const PicoNowWalkerPlugin = function (self) {
|
|
540
|
-
|
|
541
|
-
Obj.each(Mix.proto(PicoNowWalkerInstance), (fn, id) => {
|
|
542
|
-
self.prototype[id] = fn;
|
|
543
|
-
});
|
|
544
|
-
|
|
545
|
-
return self;
|
|
546
|
-
}
|
|
540
|
+
export default PicoNowWalker;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Arr, Mix } from "../index.esm.ts";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Get global runtime scope
|
|
3
5
|
*
|
|
@@ -5,7 +7,8 @@
|
|
|
5
7
|
*
|
|
6
8
|
* @returns {any} Global scope obj
|
|
7
9
|
*/
|
|
8
|
-
export function go()
|
|
10
|
+
export function go() : any
|
|
11
|
+
{
|
|
9
12
|
|
|
10
13
|
if ( typeof globalThis !== 'undefined' ) {
|
|
11
14
|
return globalThis;
|
|
@@ -29,17 +32,17 @@ export function go() {
|
|
|
29
32
|
*
|
|
30
33
|
* @returns {void} No return value
|
|
31
34
|
*/
|
|
32
|
-
export function browser()
|
|
33
|
-
|
|
35
|
+
export function browser() : void
|
|
36
|
+
{
|
|
34
37
|
const scope = go();
|
|
35
38
|
|
|
36
|
-
if ( !
|
|
39
|
+
if ( !scope.navigator ) {
|
|
37
40
|
return;
|
|
38
41
|
}
|
|
39
42
|
|
|
40
|
-
let [agent, result] = [
|
|
43
|
+
let [agent, result] : [string, any] = [
|
|
41
44
|
scope.navigator.userAgent, {}
|
|
42
|
-
]
|
|
45
|
+
];
|
|
43
46
|
|
|
44
47
|
if ( result.safari == null ) {
|
|
45
48
|
result.safari = /Safari\//.test(agent);
|
|
@@ -67,15 +70,15 @@ export function browser() {
|
|
|
67
70
|
*
|
|
68
71
|
* @returns {void} No return value
|
|
69
72
|
*/
|
|
70
|
-
export function device()
|
|
71
|
-
|
|
73
|
+
export function device() : void
|
|
74
|
+
{
|
|
72
75
|
const scope = go();
|
|
73
76
|
|
|
74
|
-
if ( !
|
|
77
|
+
if ( !scope.navigator ) {
|
|
75
78
|
return;
|
|
76
79
|
}
|
|
77
80
|
|
|
78
|
-
let [agent, result] = [
|
|
81
|
+
let [agent, result] : [string, any] = [
|
|
79
82
|
scope.navigator.userAgent, {}
|
|
80
83
|
]
|
|
81
84
|
|
|
@@ -100,4 +103,31 @@ export function device() {
|
|
|
100
103
|
}
|
|
101
104
|
|
|
102
105
|
scope.piudv = result;
|
|
103
|
-
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export function trait(values : any[]) {
|
|
109
|
+
|
|
110
|
+
const traited : any = values[0];
|
|
111
|
+
|
|
112
|
+
Arr.each(values.slice(1), (value : any) => {
|
|
113
|
+
|
|
114
|
+
Arr.each(Mix.class(value), (fn:any, key:string) => {
|
|
115
|
+
traited[key] = fn
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
Arr.each(Mix.proto(value), (fn:any, key:string) => {
|
|
119
|
+
traited.prototype[key] = fn
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
// Mix.extend(traited.prototype, value.prototype);
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
return traited;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export default {
|
|
129
|
+
go,
|
|
130
|
+
browser,
|
|
131
|
+
device,
|
|
132
|
+
trait,
|
|
133
|
+
};
|