@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.
Files changed (97) hide show
  1. package/dist/pico-js.browser.js +1 -1
  2. package/dist/pico-js.browser.js.map +1 -1
  3. package/dist/pico-js.esm.js +1 -1
  4. package/dist/pico-js.esm.js.map +1 -1
  5. package/package.json +4 -6
  6. package/src/dom/{DomAttribute.js → DomAttribute.ts} +40 -63
  7. package/src/dom/{DomBuilder.js → DomBuilder.ts} +27 -44
  8. package/src/dom/{DomEvent.js → DomEvent.ts} +101 -76
  9. package/src/dom/{DomFinder.js → DomFinder.ts} +103 -139
  10. package/src/dom/DomForm.ts +38 -0
  11. package/src/dom/{DomGlobal.js → DomGlobal.ts} +34 -51
  12. package/src/dom/{DomInview.js → DomInview.ts} +37 -57
  13. package/src/dom/DomMeta.ts +48 -0
  14. package/src/dom/DomObserver.ts +17 -0
  15. package/src/dom/{DomPopover.js → DomPopover.ts} +20 -39
  16. package/src/dom/{DomRectangle.js → DomRectangle.ts} +70 -87
  17. package/src/format/{FormatFile.js → FormatFile.ts} +12 -23
  18. package/src/format/{FormatOption.js → FormatOption.ts} +15 -24
  19. package/src/format/{FormatParam.js → FormatParam.ts} +14 -25
  20. package/src/format/{FormatParser.js → FormatParser.ts} +29 -39
  21. package/src/format/{FormatUrl.js → FormatUrl.ts} +9 -21
  22. package/src/index.browser.ts +32 -0
  23. package/src/index.esm.ts +64 -0
  24. package/src/now/{NowDefault.js → NowDefault.ts} +86 -121
  25. package/src/now/{NowFormat.js → NowFormat.ts} +23 -28
  26. package/src/now/{NowGrid.js → NowGrid.ts} +41 -58
  27. package/src/now/{NowHuman.js → NowHuman.ts} +18 -27
  28. package/src/now/{NowMatch.js → NowMatch.ts} +22 -28
  29. package/src/now/{NowRange.js → NowRange.ts} +13 -22
  30. package/src/now/{NowWalker.js → NowWalker.ts} +65 -71
  31. package/src/tool/{scope.js → scope.ts} +41 -11
  32. package/src/utils/{Array.js → Array.ts} +187 -152
  33. package/src/utils/{Cookie.js → Cookie.ts} +15 -12
  34. package/src/utils/{Data.js → Data.ts} +17 -17
  35. package/src/utils/Dom.ts +204 -0
  36. package/src/utils/Format.ts +48 -0
  37. package/src/utils/{Hash.js → Hash.ts} +20 -20
  38. package/src/utils/{Locale.js → Locale.ts} +21 -21
  39. package/src/utils/{Mixed.js → Mixed.ts} +104 -61
  40. package/src/utils/{Now.js → Now.ts} +68 -69
  41. package/src/utils/{Number.js → Number.ts} +34 -36
  42. package/src/utils/{Object.js → Object.ts} +68 -122
  43. package/src/utils/{Route.js → Route.ts} +11 -9
  44. package/src/utils/{Runner.js → Runner.ts} +89 -77
  45. package/src/utils/{Signal.js → Signal.ts} +35 -22
  46. package/src/utils/{String.js → String.ts} +79 -69
  47. package/src/wip/{Element.js → Element.ts} +2 -2
  48. package/src/wip/{Map.js → Map.ts} +1 -1
  49. package/types/dom/DomAttribute.d.ts +16 -27
  50. package/types/dom/DomBuilder.d.ts +6 -9
  51. package/types/dom/DomEvent.d.ts +19 -24
  52. package/types/dom/DomFinder.d.ts +38 -61
  53. package/types/dom/DomForm.d.ts +7 -10
  54. package/types/dom/DomGlobal.d.ts +8 -15
  55. package/types/dom/DomInview.d.ts +9 -19
  56. package/types/dom/DomMeta.d.ts +9 -16
  57. package/types/dom/DomObserver.d.ts +4 -8
  58. package/types/dom/DomPopover.d.ts +8 -11
  59. package/types/dom/DomRectangle.d.ts +21 -35
  60. package/types/format/FormatFile.d.ts +5 -8
  61. package/types/format/FormatOption.d.ts +6 -8
  62. package/types/format/FormatParam.d.ts +6 -9
  63. package/types/format/FormatParser.d.ts +10 -18
  64. package/types/format/FormatUrl.d.ts +5 -8
  65. package/types/index.esm.d.ts +25 -37
  66. package/types/now/NowDefault.d.ts +30 -99
  67. package/types/now/NowFormat.d.ts +8 -21
  68. package/types/now/NowGrid.d.ts +24 -46
  69. package/types/now/NowHuman.d.ts +10 -11
  70. package/types/now/NowMatch.d.ts +6 -4
  71. package/types/now/NowRange.d.ts +5 -8
  72. package/types/now/NowWalker.d.ts +6 -4
  73. package/types/tool/scope.d.ts +11 -3
  74. package/types/utils/Array.d.ts +83 -101
  75. package/types/utils/Cookie.d.ts +11 -8
  76. package/types/utils/Data.d.ts +7 -7
  77. package/types/utils/Dom.d.ts +63 -96
  78. package/types/utils/Format.d.ts +15 -28
  79. package/types/utils/Hash.d.ts +21 -21
  80. package/types/utils/Locale.d.ts +9 -9
  81. package/types/utils/Mixed.d.ts +19 -32
  82. package/types/utils/Now.d.ts +51 -56
  83. package/types/utils/Number.d.ts +9 -20
  84. package/types/utils/Object.d.ts +21 -36
  85. package/types/utils/Route.d.ts +5 -2
  86. package/types/utils/Runner.d.ts +45 -38
  87. package/types/utils/Signal.d.ts +16 -16
  88. package/types/utils/String.d.ts +40 -76
  89. package/src/dom/DomForm.js +0 -59
  90. package/src/dom/DomMeta.js +0 -68
  91. package/src/dom/DomObserver.js +0 -38
  92. package/src/index.browser.js +0 -36
  93. package/src/index.esm.js +0 -80
  94. package/src/utils/Dom.js +0 -214
  95. package/src/utils/Format.js +0 -62
  96. package/types/wip/Element.d.ts +0 -119
  97. package/types/wip/Map.d.ts +0 -254
@@ -1,13 +1,18 @@
1
- import { Mix, Now, Obj } from "../index.esm.js";
2
- import { PicoNow } from "../utils/Now.js";
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 PicoNowWalkerInstance
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 ( ! scope.navigator ) {
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 ( ! scope.navigator ) {
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
+ };