jscrewit 2.36.0 → 2.38.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.
@@ -43,10 +43,19 @@ export interface FeatureAll
43
43
  *
44
44
  * @remarks
45
45
  *
46
- * Available in Chrome, Edge, Firefox, Safari 10+, Opera, and Node.js 4+.
46
+ * Available in Chrome, Edge, Firefox, Safari 10.0+, Opera, and Node.js 4+.
47
47
  */
48
48
  ARROW: ElementaryFeature;
49
49
 
50
+ /**
51
+ * Support for async functions, which return Promise object.
52
+ *
53
+ * @remarks
54
+ *
55
+ * Available in Chrome, Edge, Firefox, Safari 10.1+, Opera, and Node.js 7.6+.
56
+ */
57
+ ASYNC_FUNCTION: ElementaryFeature;
58
+
50
59
  /**
51
60
  * Existence of the native function Array.prototype.at.
52
61
  *
@@ -61,7 +70,7 @@ export interface FeatureAll
61
70
  *
62
71
  * @remarks
63
72
  *
64
- * Available in Chrome, Edge, Firefox, Internet Explorer 10+, Safari, Opera, Android Browser, and Node.js 16.0+. This feature is not available inside web workers in Safari before 10.
73
+ * Available in Chrome, Edge, Firefox, Internet Explorer 10+, Safari, Opera, Android Browser, and Node.js 16.0+. This feature is not available inside web workers in Safari before 10.0.
65
74
  */
66
75
  ATOB: ElementaryFeature;
67
76
 
@@ -84,6 +93,15 @@ export interface FeatureAll
84
93
  */
85
94
  BROWSER: PredefinedFeature;
86
95
 
96
+ /**
97
+ * The ability to call a function on the global object when invoking Function.prototype.call without binding.
98
+ *
99
+ * @remarks
100
+ *
101
+ * Available in Android Browser before 4.1.
102
+ */
103
+ CALL_ON_GLOBAL: ElementaryFeature;
104
+
87
105
  /**
88
106
  * The property that the various string methods returning HTML code such as String.prototype.big or String.prototype.link have both the tag name and attributes written in capital letters.
89
107
  *
@@ -123,7 +141,7 @@ export interface FeatureAll
123
141
  /**
124
142
  * All new browsers' features.
125
143
  *
126
- * No support for Node.js and older browsers like Internet Explorer, Safari 9 or Android Browser.
144
+ * No support for Node.js and older browsers like Internet Explorer, Safari 17.3 or Android Browser.
127
145
  */
128
146
  COMPACT: PredefinedFeature;
129
147
 
@@ -207,16 +225,29 @@ export interface FeatureAll
207
225
  /**
208
226
  * Features available in the current stable version of Firefox.
209
227
  *
210
- * An alias for `FF_90`.
228
+ * An alias for `FF_131`.
211
229
  */
212
230
  FF: PredefinedFeature;
213
231
 
214
232
  /**
215
- * Features available in Firefox 90 or later.
233
+ * Features available in Firefox 131 or later.
216
234
  *
217
235
  * @remarks
218
236
  *
219
- * This feature may be replaced or removed in the near future when current browser versions become obsolete. Use `FF`, `FF_ESR`, or `FF_PREV` instead of `FF_90` for long term support.
237
+ * This feature may be replaced or removed in the near future when current browser versions become obsolete. Use `FF` instead of `FF_131` for long term support.
238
+ *
239
+ * @see
240
+ *
241
+ * [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
242
+ */
243
+ FF_131: PredefinedFeature;
244
+
245
+ /**
246
+ * Features available in Firefox 90 to 130.
247
+ *
248
+ * @remarks
249
+ *
250
+ * This feature may be replaced or removed in the near future when current browser versions become obsolete. Use `FF_ESR` or `FF_PREV` instead of `FF_90` for long term support.
220
251
  *
221
252
  * @see
222
253
  *
@@ -341,15 +372,6 @@ export interface FeatureAll
341
372
  */
342
373
  HTMLAUDIOELEMENT: ElementaryFeature;
343
374
 
344
- /**
345
- * Existence of the global object document having the string representation "\[object HTMLDocument\]".
346
- *
347
- * @remarks
348
- *
349
- * Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari, Opera, and Android Browser. This feature is not available inside web workers.
350
- */
351
- HTMLDOCUMENT: ElementaryFeature;
352
-
353
375
  /** Features available in Internet Explorer 10. */
354
376
  IE_10: PredefinedFeature;
355
377
 
@@ -387,16 +409,34 @@ export interface FeatureAll
387
409
  *
388
410
  * @remarks
389
411
  *
390
- * Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari 10+, Opera, Android Browser 4.4, and Node.js 0.12+.
412
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari 10.0+, Opera, Android Browser 4.4, and Node.js 0.12+.
391
413
  */
392
414
  INTL: ElementaryFeature;
393
415
 
416
+ /**
417
+ * Availability of iterator helpers.
418
+ *
419
+ * @remarks
420
+ *
421
+ * Available in Chrome, Edge, Firefox 131+, Opera, and Node.js 22+.
422
+ */
423
+ ITERATOR_HELPER: ElementaryFeature;
424
+
425
+ /**
426
+ * Japanese string representation of Infinity ending with "∞".
427
+ *
428
+ * @remarks
429
+ *
430
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari 10.0+, Opera, Android Browser 4.4, and Node.js 0.12+.
431
+ */
432
+ JAPANESE_INFINITY: ElementaryFeature;
433
+
394
434
  /**
395
435
  * Language sensitive string representation of Infinity as "∞".
396
436
  *
397
437
  * @remarks
398
438
  *
399
- * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari 10+, Opera, Android Browser 4.4, and Node.js 0.12+.
439
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari 10.0+, Opera, Android Browser 4.4, and Node.js 0.12+.
400
440
  */
401
441
  LOCALE_INFINITY: ElementaryFeature;
402
442
 
@@ -405,7 +445,7 @@ export interface FeatureAll
405
445
  *
406
446
  * @remarks
407
447
  *
408
- * Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari 10+, Opera, Android Browser 4.4, and Node.js 13+.
448
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari 10.0+, Opera, Android Browser 4.4, and Node.js 13+.
409
449
  */
410
450
  LOCALE_NUMERALS: ElementaryFeature;
411
451
 
@@ -416,7 +456,7 @@ export interface FeatureAll
416
456
  *
417
457
  * @remarks
418
458
  *
419
- * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari 10+, Opera, Android Browser 4.4, and Node.js 13+.
459
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari 10.0+, Opera, Android Browser 4.4, and Node.js 13+.
420
460
  */
421
461
  LOCALE_NUMERALS_EXT: ElementaryFeature;
422
462
 
@@ -429,6 +469,15 @@ export interface FeatureAll
429
469
  */
430
470
  LOCATION: ElementaryFeature;
431
471
 
472
+ /**
473
+ * Existence of user agent string navigator.userAgent that starts with "Mozilla".
474
+ *
475
+ * @remarks
476
+ *
477
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser.
478
+ */
479
+ MOZILLA: ElementaryFeature;
480
+
432
481
  /**
433
482
  * Existence of the name property for functions.
434
483
  *
@@ -443,7 +492,7 @@ export interface FeatureAll
443
492
  *
444
493
  * @remarks
445
494
  *
446
- * Available in Safari before 10. This feature is not available inside web workers.
495
+ * Available in Safari before 10.0. This feature is not available inside web workers.
447
496
  */
448
497
  NODECONSTRUCTOR: ElementaryFeature;
449
498
 
@@ -471,15 +520,21 @@ export interface FeatureAll
471
520
  /** Features available in Node.js 16.0 to 16.5. */
472
521
  NODE_16_0: PredefinedFeature;
473
522
 
474
- /** Features available in Node.js 16.6 or later. */
523
+ /** Features available in Node.js 16.6 to 21. */
475
524
  NODE_16_6: PredefinedFeature;
476
525
 
526
+ /** Features available in Node.js 22 or later. */
527
+ NODE_22: PredefinedFeature;
528
+
477
529
  /** Features available in Node.js 4. */
478
530
  NODE_4: PredefinedFeature;
479
531
 
480
- /** Features available in Node.js 5 to 9. */
532
+ /** Features available in Node.js 5 to 7.5. */
481
533
  NODE_5: PredefinedFeature;
482
534
 
535
+ /** Features available in Node.js 7.6 to 9. */
536
+ NODE_7_6: PredefinedFeature;
537
+
483
538
  /**
484
539
  * A string representation of native functions typical for V8 or for Internet Explorer but not for Firefox and Safari.
485
540
  *
@@ -525,7 +580,7 @@ export interface FeatureAll
525
580
  *
526
581
  * @remarks
527
582
  *
528
- * Available in Firefox, Safari 9+, and Node.js 0.12+.
583
+ * Available in Firefox before 131, Safari 9+, and Node.js 0.12+ before 22.
529
584
  */
530
585
  OBJECT_ARRAY_ENTRIES_CTOR: ElementaryFeature;
531
586
 
@@ -534,7 +589,7 @@ export interface FeatureAll
534
589
  *
535
590
  * @remarks
536
591
  *
537
- * Available in Internet Explorer and Safari before 10. This feature is not available inside web workers.
592
+ * Available in Internet Explorer and Safari before 10.0. This feature is not available inside web workers.
538
593
  */
539
594
  OBJECT_L_LOCATION_CTOR: ElementaryFeature;
540
595
 
@@ -548,20 +603,20 @@ export interface FeatureAll
548
603
  OBJECT_UNDEFINED: ElementaryFeature;
549
604
 
550
605
  /**
551
- * The property that the string representation of the global object constructor starts with "\[object W".
606
+ * The property that the string representation of the global object self starts with "\[object W".
552
607
  *
553
608
  * @remarks
554
609
  *
555
- * Available in Internet Explorer and Safari before 10. This feature is not available inside web workers in Safari before 10.
610
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser 4.4. This feature is not available inside web workers in Chrome, Edge, Firefox, Safari, Opera, and Android Browser 4.4.
556
611
  */
557
- OBJECT_W_CTOR: ElementaryFeature;
612
+ OBJECT_W_SELF: ElementaryFeature;
558
613
 
559
614
  /**
560
615
  * Existence of the global object location.constructor whose string representation starts with "\[object " and ends with "LocationConstructor\]".
561
616
  *
562
617
  * @remarks
563
618
  *
564
- * Available in Safari before 10.
619
+ * Available in Safari before 10.0.
565
620
  */
566
621
  OLD_SAFARI_LOCATION_CTOR: ElementaryFeature;
567
622
 
@@ -570,7 +625,7 @@ export interface FeatureAll
570
625
  *
571
626
  * @remarks
572
627
  *
573
- * Available in Internet Explorer 11, Safari 10+ before 14.0.1, Android Browser 4.4, and Node.js 0.12+ before 15.
628
+ * Available in Internet Explorer 11, Safari 10.0+ before 14.0.1, Android Browser 4.4, and Node.js 0.12+ before 15.
574
629
  */
575
630
  PLAIN_INTL: ElementaryFeature;
576
631
 
@@ -586,12 +641,15 @@ export interface FeatureAll
586
641
  /**
587
642
  * Features available in the current stable version of Safari.
588
643
  *
589
- * An alias for `SAFARI_17_4`.
644
+ * An alias for `SAFARI_18`.
590
645
  */
591
646
  SAFARI: PredefinedFeature;
592
647
 
593
- /** Features available in Safari 10 and Safari 11. */
594
- SAFARI_10: PredefinedFeature;
648
+ /** Features available in Safari 10.0. */
649
+ SAFARI_10_0: PredefinedFeature;
650
+
651
+ /** Features available in Safari 10.1 and Safari 11. */
652
+ SAFARI_10_1: PredefinedFeature;
595
653
 
596
654
  /** Features available in Safari 12. */
597
655
  SAFARI_12: PredefinedFeature;
@@ -608,9 +666,12 @@ export interface FeatureAll
608
666
  /** Features available in Safari 15.4 to 17.3. */
609
667
  SAFARI_15_4: PredefinedFeature;
610
668
 
611
- /** Features available in Safari 17.4 or later. */
669
+ /** Features available in Safari 17.4 to 17.6. */
612
670
  SAFARI_17_4: PredefinedFeature;
613
671
 
672
+ /** Features available in Safari 18 or later. */
673
+ SAFARI_18: PredefinedFeature;
674
+
614
675
  /** Features available in Safari 7.0. */
615
676
  SAFARI_7_0: PredefinedFeature;
616
677
 
@@ -628,7 +689,7 @@ export interface FeatureAll
628
689
  *
629
690
  * @remarks
630
691
  *
631
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers in Safari 7.1+ before 10.
692
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers in Safari 7.1+ before 10.0.
632
693
  */
633
694
  SELF_OBJ: ElementaryFeature;
634
695
 
@@ -637,7 +698,7 @@ export interface FeatureAll
637
698
  *
638
699
  * @remarks
639
700
  *
640
- * Available in Firefox, Internet Explorer 11, Safari 10+, Android Browser 4.4, and Node.js 13+.
701
+ * Available in Firefox, Internet Explorer 11, Safari 10.0+ before 18, Android Browser 4.4, and Node.js 13+.
641
702
  */
642
703
  SHORT_LOCALES: ElementaryFeature;
643
704
 
@@ -688,9 +749,11 @@ type ElementaryFeatureName =
688
749
  | 'ANY_WINDOW'
689
750
  | 'ARRAY_ITERATOR'
690
751
  | 'ARROW'
752
+ | 'ASYNC_FUNCTION'
691
753
  | 'AT'
692
754
  | 'ATOB'
693
755
  | 'BARPROP'
756
+ | 'CALL_ON_GLOBAL'
694
757
  | 'CAPITAL_HTML'
695
758
  | 'CONSOLE'
696
759
  | 'DOCUMENT'
@@ -711,14 +774,16 @@ type ElementaryFeatureName =
711
774
  | 'GMT'
712
775
  | 'HISTORY'
713
776
  | 'HTMLAUDIOELEMENT'
714
- | 'HTMLDOCUMENT'
715
777
  | 'IE_SRC'
716
778
  | 'INCR_CHAR'
717
779
  | 'INTL'
780
+ | 'ITERATOR_HELPER'
781
+ | 'JAPANESE_INFINITY'
718
782
  | 'LOCALE_INFINITY'
719
783
  | 'LOCALE_NUMERALS'
720
784
  | 'LOCALE_NUMERALS_EXT'
721
785
  | 'LOCATION'
786
+ | 'MOZILLA'
722
787
  | 'NAME'
723
788
  | 'NODECONSTRUCTOR'
724
789
  | 'NO_FF_SRC'
@@ -728,7 +793,7 @@ type ElementaryFeatureName =
728
793
  | 'OBJECT_ARRAY_ENTRIES_CTOR'
729
794
  | 'OBJECT_L_LOCATION_CTOR'
730
795
  | 'OBJECT_UNDEFINED'
731
- | 'OBJECT_W_CTOR'
796
+ | 'OBJECT_W_SELF'
732
797
  | 'OLD_SAFARI_LOCATION_CTOR'
733
798
  | 'PLAIN_INTL'
734
799
  | 'REGEXP_STRING_ITERATOR'
@@ -751,6 +816,7 @@ ElementaryFeatureName
751
816
  | 'CHROME_122'
752
817
  | 'COMPACT'
753
818
  | 'DEFAULT'
819
+ | 'FF_131'
754
820
  | 'FF_90'
755
821
  | 'IE_10'
756
822
  | 'IE_11'
@@ -765,15 +831,19 @@ ElementaryFeatureName
765
831
  | 'NODE_15'
766
832
  | 'NODE_16_0'
767
833
  | 'NODE_16_6'
834
+ | 'NODE_22'
768
835
  | 'NODE_4'
769
836
  | 'NODE_5'
770
- | 'SAFARI_10'
837
+ | 'NODE_7_6'
838
+ | 'SAFARI_10_0'
839
+ | 'SAFARI_10_1'
771
840
  | 'SAFARI_12'
772
841
  | 'SAFARI_13'
773
842
  | 'SAFARI_14_0_1'
774
843
  | 'SAFARI_14_1'
775
844
  | 'SAFARI_15_4'
776
845
  | 'SAFARI_17_4'
846
+ | 'SAFARI_18'
777
847
  | 'SAFARI_7_0'
778
848
  | 'SAFARI_7_1'
779
849
  | 'SAFARI_9'
package/lib/feature.d.ts CHANGED
@@ -261,14 +261,14 @@ export interface FeatureConstructor extends FeatureAll
261
261
  * const newFeature = JScrewIt.Feature.commonOf(["ATOB", "NAME"], ["NAME", "SELF"]);
262
262
  * ```
263
263
  *
264
- * This will create a new feature object equivalent to {@link FeatureConstructor.ANY_DOCUMENT |
265
- * `ANY_DOCUMENT`}.
266
- * This is because both {@link FeatureConstructor.HTMLDOCUMENT | `HTMLDOCUMENT`} and {@link
267
- * FeatureConstructor.DOCUMENT | `DOCUMENT`} imply {@link FeatureConstructor.ANY_DOCUMENT |
268
- * `ANY_DOCUMENT`}.
264
+ * This will create a new feature object equivalent to {@link FeatureConstructor.ANY_WINDOW |
265
+ * `ANY_WINDOW`}.
266
+ * This is because both {@link FeatureConstructor.DOMWINDOW | `DOMWINDOW`} and {@link
267
+ * FeatureConstructor.WINDOW | `WINDOW`} imply {@link FeatureConstructor.ANY_WINDOW |
268
+ * `ANY_WINDOW`}.
269
269
  *
270
270
  * ```js
271
- * const newFeature = JScrewIt.Feature.commonOf("HTMLDOCUMENT", "DOCUMENT");
271
+ * const newFeature = JScrewIt.Feature.commonOf("DOMWINDOW", "WINDOW");
272
272
  * ```
273
273
  */
274
274
  commonOf(...features: FeatureElementOrCompatibleArray[]): CustomFeature | null;