jscrewit 2.41.0 → 3.1.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.
@@ -2,39 +2,12 @@ import { ElementaryFeature, PredefinedFeature } from './feature';
2
2
 
3
3
  export interface FeatureAll
4
4
  {
5
- /** Features available in Android Browser 4.0. */
6
- ANDRO_4_0: PredefinedFeature;
7
-
8
- /** Features available in Android Browser 4.1 to 4.3. */
9
- ANDRO_4_1: PredefinedFeature;
10
-
11
- /** Features available in Android Browser 4.4. */
12
- ANDRO_4_4: PredefinedFeature;
13
-
14
- /**
15
- * Existence of the global object document whose string representation starts with "\[object " and ends with "Document\]".
16
- *
17
- * @remarks
18
- *
19
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers.
20
- */
21
- ANY_DOCUMENT: ElementaryFeature;
22
-
23
- /**
24
- * Existence of the global object self whose string representation starts with "\[object " and ends with "Window\]".
25
- *
26
- * @remarks
27
- *
28
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers.
29
- */
30
- ANY_WINDOW: ElementaryFeature;
31
-
32
5
  /**
33
- * The property that the string representation of Array.prototype.entries\(\) starts with "\[object Array" and ends with "\]" at index 21 or 22.
6
+ * The property that the string representation of Array.prototype.entries\(\) evaluates to "\[object Array Iterator\]".
34
7
  *
35
8
  * @remarks
36
9
  *
37
- * Available in Chrome, Edge, Firefox, Safari 7.1+, Opera, and Node.js 0.12+.
10
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
38
11
  */
39
12
  ARRAY_ITERATOR: ElementaryFeature;
40
13
 
@@ -43,37 +16,19 @@ export interface FeatureAll
43
16
  *
44
17
  * @remarks
45
18
  *
46
- * Available in Chrome, Edge, Firefox, Safari 10.0+, Opera, and Node.js 4+.
19
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
47
20
  */
48
21
  ARROW: ElementaryFeature;
49
22
 
50
23
  /**
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
-
59
- /**
60
- * Existence of the native function Array.prototype.at.
24
+ * Existence of the native functions Array.prototype.at and String.prototype.at.
61
25
  *
62
26
  * @remarks
63
27
  *
64
- * Available in Chrome, Edge, Firefox, Safari 15.4+, Opera, and Node.js 16.6+.
28
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
65
29
  */
66
30
  AT: ElementaryFeature;
67
31
 
68
- /**
69
- * Existence of the global functions atob and btoa.
70
- *
71
- * @remarks
72
- *
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.
74
- */
75
- ATOB: ElementaryFeature;
76
-
77
32
  /** Features available in the current environment. */
78
33
  AUTO: PredefinedFeature;
79
34
 
@@ -82,7 +37,7 @@ export interface FeatureAll
82
37
  *
83
38
  * @remarks
84
39
  *
85
- * Available in Chrome, Edge, Firefox, Safari, Opera, and Android Browser 4.4. This feature is not available inside web workers.
40
+ * Available in Chrome, Edge, Firefox, Safari, and Opera. This feature is not available inside web workers.
86
41
  */
87
42
  BARPROP: ElementaryFeature;
88
43
 
@@ -93,15 +48,6 @@ export interface FeatureAll
93
48
  */
94
49
  BROWSER: PredefinedFeature;
95
50
 
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
-
105
51
  /**
106
52
  * 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.
107
53
  *
@@ -141,7 +87,7 @@ export interface FeatureAll
141
87
  /**
142
88
  * All new browsers' features.
143
89
  *
144
- * No support for Node.js and older browsers like Internet Explorer, Safari 17.3 or Android Browser.
90
+ * Not compatible with Node.js, Internet Explorer, and old versions of supported browsers.
145
91
  */
146
92
  COMPACT: PredefinedFeature;
147
93
 
@@ -152,83 +98,31 @@ export interface FeatureAll
152
98
  *
153
99
  * @remarks
154
100
  *
155
- * Available in Internet Explorer 10+, Safari before 14.1, and Android Browser. This feature is not available inside web workers in Safari before 7.1 and Android Browser 4.4.
101
+ * Available in Internet Explorer.
156
102
  */
157
103
  CONSOLE: ElementaryFeature;
158
104
 
159
- /**
160
- * Existence of the function document.createElement.
161
- *
162
- * An alias for `ANY_DOCUMENT`.
163
- */
164
- CREATE_ELEMENT: ElementaryFeature;
165
-
166
105
  /** Minimum feature level, compatible with all supported engines in all environments. */
167
106
  DEFAULT: PredefinedFeature;
168
107
 
169
108
  /**
170
- * Existence of the global object document having the string representation "\[object Document\]".
109
+ * Existence of the global object document whose string representation starts with "\[object " and ends with "Document\]".
171
110
  *
172
111
  * @remarks
173
112
  *
174
- * Available in Internet Explorer before 11. This feature is not available inside web workers.
113
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, and Opera. This feature is not available inside web workers.
175
114
  */
176
115
  DOCUMENT: ElementaryFeature;
177
116
 
178
- /**
179
- * Existence of the global object self having the string representation "\[object DOMWindow\]".
180
- *
181
- * @remarks
182
- *
183
- * Available in Android Browser before 4.4. This feature is not available inside web workers.
184
- */
185
- DOMWINDOW: ElementaryFeature;
186
-
187
- /**
188
- * The property that double quotation mark, less than and greater than characters in the argument of String.prototype.fontcolor are escaped into their respective HTML entities.
189
- *
190
- * @remarks
191
- *
192
- * Available in Android Browser and Node.js before 0.12.
193
- */
194
- ESC_HTML_ALL: ElementaryFeature;
195
-
196
117
  /**
197
118
  * The property that double quotation marks in the argument of String.prototype.fontcolor are escaped as "\"".
198
119
  *
199
120
  * @remarks
200
121
  *
201
- * Available in Chrome, Edge, Firefox, Safari, Opera, Android Browser, and Node.js.
122
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
202
123
  */
203
124
  ESC_HTML_QUOT: ElementaryFeature;
204
125
 
205
- /**
206
- * The property that only double quotation marks and no other characters in the argument of String.prototype.fontcolor are escaped into HTML entities.
207
- *
208
- * @remarks
209
- *
210
- * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js 0.12+.
211
- */
212
- ESC_HTML_QUOT_ONLY: ElementaryFeature;
213
-
214
- /**
215
- * Having regular expressions created with the RegExp constructor use escape sequences starting with a backslash to format line feed characters \("\\n"\) in their string representation.
216
- *
217
- * @remarks
218
- *
219
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Node.js 12+.
220
- */
221
- ESC_REGEXP_LF: ElementaryFeature;
222
-
223
- /**
224
- * Having regular expressions created with the RegExp constructor use escape sequences starting with a backslash to format slashes \("/"\) in their string representation.
225
- *
226
- * @remarks
227
- *
228
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Node.js 4+.
229
- */
230
- ESC_REGEXP_SLASH: ElementaryFeature;
231
-
232
126
  /**
233
127
  * Features available in the current stable version of Firefox.
234
128
  *
@@ -300,37 +194,21 @@ export interface FeatureAll
300
194
  */
301
195
  FF_SRC: ElementaryFeature;
302
196
 
303
- /**
304
- * Existence of the native function Array.prototype.fill.
305
- *
306
- * @remarks
307
- *
308
- * Available in Chrome, Edge, Firefox, Safari 7.1+, Opera, and Node.js 4+.
309
- */
310
- FILL: ElementaryFeature;
311
-
312
197
  /**
313
198
  * Existence of the native function Array.prototype.flat.
314
199
  *
315
200
  * @remarks
316
201
  *
317
- * Available in Chrome, Edge, Firefox, Safari 12+, Opera, and Node.js 11+.
202
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
318
203
  */
319
204
  FLAT: ElementaryFeature;
320
205
 
321
- /**
322
- * Existence of the object document.forms with string representation "\[object HTMLCollection\]".
323
- *
324
- * An alias for `ANY_DOCUMENT`.
325
- */
326
- FORMS: ElementaryFeature;
327
-
328
206
  /**
329
207
  * Existence of the function String.fromCodePoint.
330
208
  *
331
209
  * @remarks
332
210
  *
333
- * Available in Chrome, Edge, Firefox, Safari 9+, Opera, and Node.js 4+.
211
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
334
212
  */
335
213
  FROM_CODE_POINT: ElementaryFeature;
336
214
 
@@ -339,7 +217,7 @@ export interface FeatureAll
339
217
  *
340
218
  * @remarks
341
219
  *
342
- * Available in Chrome, Edge, Firefox, Safari 17.4+, Opera, and Node.js 10+.
220
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
343
221
  */
344
222
  FUNCTION_19_LF: ElementaryFeature;
345
223
 
@@ -348,68 +226,18 @@ export interface FeatureAll
348
226
  *
349
227
  * @remarks
350
228
  *
351
- * Available in Internet Explorer, Safari 9+ before 17.4, Android Browser, and Node.js before 10.
229
+ * Available in Internet Explorer.
352
230
  */
353
231
  FUNCTION_22_LF: ElementaryFeature;
354
232
 
355
- /**
356
- * Ability to call Array.prototype.toString with a non-array binding.
357
- *
358
- * @remarks
359
- *
360
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, Android Browser 4.1+, and Node.js.
361
- */
362
- GENERIC_ARRAY_TO_STRING: ElementaryFeature;
363
-
364
- /**
365
- * Having the global function toString return the string "\[object Undefined\]" when invoked without a binding.
366
- *
367
- * @remarks
368
- *
369
- * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
370
- */
371
- GLOBAL_UNDEFINED: ElementaryFeature;
372
-
373
- /**
374
- * Presence of the text "GMT" after the first 25 characters in the string returned by Date\(\).
375
- *
376
- * The string representation of dates is implementation dependent, but most engines use a similar format, making this feature available in all supported engines except Internet Explorer 9 and 10.
377
- *
378
- * @remarks
379
- *
380
- * Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari, Opera, Android Browser, and Node.js.
381
- */
382
- GMT: ElementaryFeature;
383
-
384
- /**
385
- * Existence of the global object history having the string representation "\[object History\]".
386
- *
387
- * @remarks
388
- *
389
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers.
390
- */
391
- HISTORY: ElementaryFeature;
392
-
393
- /**
394
- * Existence of the global object Audio whose string representation starts with "function HTMLAudioElement".
395
- *
396
- * @remarks
397
- *
398
- * Available in Android Browser 4.4. This feature is not available inside web workers.
399
- */
400
- HTMLAUDIOELEMENT: ElementaryFeature;
401
-
402
- /** Features available in Internet Explorer 10. */
403
- IE_10: PredefinedFeature;
404
-
405
233
  /** Features available in Internet Explorer 11. */
406
234
  IE_11: PredefinedFeature;
407
235
 
408
236
  /** Features available in Internet Explorer 11 on Windows 10. */
409
237
  IE_11_WIN_10: PredefinedFeature;
410
238
 
411
- /** Features available in Internet Explorer 9. */
412
- IE_9: PredefinedFeature;
239
+ /** Features available in Internet Explorer 11 on Windows 8. */
240
+ IE_11_WIN_8: PredefinedFeature;
413
241
 
414
242
  /**
415
243
  * A string representation of native functions typical for Internet Explorer.
@@ -427,19 +255,10 @@ export interface FeatureAll
427
255
  *
428
256
  * @remarks
429
257
  *
430
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, Android Browser, and Node.js. This feature is not available when strict mode is enforced in Chrome, Edge, Firefox, Internet Explorer 10+, Safari, Opera, and Node.js 5+.
258
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Node.js. This feature is not available when strict mode is enforced in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Node.js.
431
259
  */
432
260
  INCR_CHAR: ElementaryFeature;
433
261
 
434
- /**
435
- * Existence of the global object Intl.
436
- *
437
- * @remarks
438
- *
439
- * Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari 10.0+, Opera, Android Browser 4.4, and Node.js 0.12+.
440
- */
441
- INTL: ElementaryFeature;
442
-
443
262
  /**
444
263
  * Availability of iterator helpers.
445
264
  *
@@ -449,115 +268,46 @@ export interface FeatureAll
449
268
  */
450
269
  ITERATOR_HELPER: ElementaryFeature;
451
270
 
452
- /**
453
- * Japanese string representation of Infinity ending with "∞".
454
- *
455
- * @remarks
456
- *
457
- * Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari 10.0+, Opera, Android Browser 4.4, and Node.js 0.12+.
458
- */
459
- JAPANESE_INFINITY: ElementaryFeature;
460
-
461
271
  /**
462
272
  * Language sensitive string representation of Infinity as "∞".
463
273
  *
464
274
  * @remarks
465
275
  *
466
- * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari 10.0+, Opera, Android Browser 4.4, and Node.js 0.12+.
276
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari, Opera, and Node.js.
467
277
  */
468
278
  LOCALE_INFINITY: ElementaryFeature;
469
279
 
470
- /**
471
- * Features shared by all engines capable of localized number formatting, including output of Arabic digits, the Arabic decimal separator "٫", the letters in the first word of the Arabic string representation of NaN \("ليس"\), Persian digits and the Persian digit group separator "٬".
472
- *
473
- * @remarks
474
- *
475
- * Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari 10.0+, Opera, Android Browser 4.4, and Node.js 13+.
476
- */
477
- LOCALE_NUMERALS: ElementaryFeature;
478
-
479
280
  /**
480
281
  * Localized number formatting for Bengali.
481
282
  *
482
283
  * @remarks
483
284
  *
484
- * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari 10.0+ before 18.4, Opera, Android Browser 4.4, and Node.js 13+.
285
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari before 18.4, Opera, and Node.js.
485
286
  */
486
287
  LOCALE_NUMERALS_BN: ElementaryFeature;
487
288
 
488
289
  /**
489
290
  * Extended localized number formatting.
490
291
  *
491
- * This includes all features of LOCALE_NUMERALS plus the output of the first three letters in the second word of the Arabic string representation of NaN \("رقم"\), the letters in the Russian string representation of NaN \("не число"\) and the letters in the Persian string representation of NaN \("ناعدد"\).
292
+ * Localized number formatting including the output of the first three letters in the second word of the Arabic string representation of NaN \("رقم"\), the letters in the Russian string representation of NaN \("не число"\) and the letters in the Persian string representation of NaN \("ناعدد"\).
492
293
  *
493
294
  * @remarks
494
295
  *
495
- * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari 10.0+, Opera, Android Browser 4.4, and Node.js 13+. This feature is not available inside web workers in Safari 18.4+.
296
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari, Opera, and Node.js.
496
297
  */
497
298
  LOCALE_NUMERALS_EXT: ElementaryFeature;
498
299
 
499
- /**
500
- * Existence of the global object location with the property that Object.prototype.toString.call\(location\) evaluates to a string that starts with "\[object " and ends with "Location\]".
501
- *
502
- * @remarks
503
- *
504
- * Available in Chrome, Edge, Firefox, Safari, Opera, and Android Browser.
505
- */
506
- LOCATION: ElementaryFeature;
507
-
508
- /**
509
- * Existence of user agent string navigator.userAgent that starts with "Mozilla".
510
- *
511
- * @remarks
512
- *
513
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser.
514
- */
515
- MOZILLA: ElementaryFeature;
516
-
517
300
  /**
518
301
  * Existence of the name property for functions.
519
302
  *
520
303
  * @remarks
521
304
  *
522
- * Available in Chrome, Edge, Firefox, Safari, Opera, Android Browser, and Node.js.
305
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
523
306
  */
524
307
  NAME: ElementaryFeature;
525
308
 
526
- /**
527
- * Existence of the global object Node having the string representation "\[object NodeConstructor\]".
528
- *
529
- * @remarks
530
- *
531
- * Available in Safari before 10.0. This feature is not available inside web workers.
532
- */
533
- NODECONSTRUCTOR: ElementaryFeature;
534
-
535
- /** Features available in Node.js 0.10. */
536
- NODE_0_10: PredefinedFeature;
537
-
538
- /** Features available in Node.js 0.12. */
539
- NODE_0_12: PredefinedFeature;
540
-
541
- /** Features available in Node.js 10. */
542
- NODE_10: PredefinedFeature;
543
-
544
- /** Features available in Node.js 11. */
545
- NODE_11: PredefinedFeature;
546
-
547
- /** Features available in Node.js 12. */
548
- NODE_12: PredefinedFeature;
549
-
550
- /** Features available in Node.js 13 and Node.js 14. */
551
- NODE_13: PredefinedFeature;
552
-
553
- /** Features available in Node.js 15. */
554
- NODE_15: PredefinedFeature;
555
-
556
- /** Features available in Node.js 16.0 to 16.5. */
557
- NODE_16_0: PredefinedFeature;
558
-
559
- /** Features available in Node.js 16.6 to 21. */
560
- NODE_16_6: PredefinedFeature;
309
+ /** Features available in Node.js 20 to 21. */
310
+ NODE_20: PredefinedFeature;
561
311
 
562
312
  /** Features available in Node.js 22.0 to 22.11 and Node.js 23.0 to 23.2. */
563
313
  NODE_22: PredefinedFeature;
@@ -565,28 +315,12 @@ export interface FeatureAll
565
315
  /** Features available in Node.js 22.12 to 22.14 and Node.js 23.3 or later. */
566
316
  NODE_22_12: PredefinedFeature;
567
317
 
568
- /** Features available in Node.js 4. */
569
- NODE_4: PredefinedFeature;
570
-
571
- /** Features available in Node.js 5 to 7.5. */
572
- NODE_5: PredefinedFeature;
573
-
574
- /** Features available in Node.js 7.6 to 9. */
575
- NODE_7_6: PredefinedFeature;
576
-
577
- /**
578
- * Existence of the string document.nodeName that starts with a number sign \("#"\).
579
- *
580
- * An alias for `ANY_DOCUMENT`.
581
- */
582
- NODE_NAME: ElementaryFeature;
583
-
584
318
  /**
585
319
  * A string representation of native functions typical for V8 or for Internet Explorer but not for Firefox and Safari.
586
320
  *
587
321
  * @remarks
588
322
  *
589
- * Available in Chrome, Edge, Internet Explorer, Opera, Android Browser, and Node.js.
323
+ * Available in Chrome, Edge, Internet Explorer, Opera, and Node.js.
590
324
  */
591
325
  NO_FF_SRC: ElementaryFeature;
592
326
 
@@ -597,19 +331,10 @@ export interface FeatureAll
597
331
  *
598
332
  * @remarks
599
333
  *
600
- * Available in Chrome, Edge, Firefox, Safari, Opera, Android Browser, and Node.js.
334
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
601
335
  */
602
336
  NO_IE_SRC: ElementaryFeature;
603
337
 
604
- /**
605
- * The property that the string representation of Array.prototype.entries\(\) evaluates to "\[object Array Iterator\]".
606
- *
607
- * @remarks
608
- *
609
- * Available in Chrome, Edge, Firefox, Safari 9+, Opera, and Node.js 0.12+.
610
- */
611
- NO_OLD_SAFARI_ARRAY_ITERATOR: ElementaryFeature;
612
-
613
338
  /**
614
339
  * A string representation of native functions typical for Firefox, Internet Explorer and Safari.
615
340
  *
@@ -626,128 +351,121 @@ export interface FeatureAll
626
351
  *
627
352
  * @remarks
628
353
  *
629
- * Available in Firefox before 131, Safari 9+ before 18.4, and Node.js 0.12+ before 22.0.
354
+ * Available in Firefox before 131, Safari before 18.4, and Node.js before 22.0.
630
355
  */
631
356
  OBJECT_ARRAY_ENTRIES_CTOR: ElementaryFeature;
632
357
 
633
358
  /**
634
- * Existence of the global function location.constructor whose string representation starts with "\[object L".
359
+ * The property that the string representation of the global object self starts with "\[object W".
635
360
  *
636
361
  * @remarks
637
362
  *
638
- * Available in Internet Explorer and Safari before 10.0. This feature is not available inside web workers.
363
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, and Opera. This feature is not available inside web workers in Chrome, Edge, Firefox, Safari, and Opera.
639
364
  */
640
- OBJECT_L_LOCATION_CTOR: ElementaryFeature;
365
+ OBJECT_W_SELF: ElementaryFeature;
641
366
 
642
367
  /**
643
- * Having the function Object.prototype.toString return the string "\[object Undefined\]" when invoked without a binding.
368
+ * Existence of the global object Intl having the string representation "\[object Object\]".
644
369
  *
645
370
  * @remarks
646
371
  *
647
- * Available in Chrome, Edge, Firefox, Internet Explorer 10+, Safari, Opera, Android Browser 4.1+, and Node.js.
372
+ * Available in Internet Explorer.
648
373
  */
649
- OBJECT_UNDEFINED: ElementaryFeature;
374
+ PLAIN_INTL: ElementaryFeature;
650
375
 
651
376
  /**
652
- * The property that the string representation of the global object self starts with "\[object W".
377
+ * The property that the string representation of String.prototype.matchAll\(\) evaluates to "\[object RegExp String Iterator\]".
653
378
  *
654
379
  * @remarks
655
380
  *
656
- * 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.
381
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
657
382
  */
658
- OBJECT_W_SELF: ElementaryFeature;
383
+ REGEXP_STRING_ITERATOR: ElementaryFeature;
659
384
 
660
385
  /**
661
- * Existence of the global object location.constructor whose string representation starts with "\[object " and ends with "LocationConstructor\]".
386
+ * Russian string representation of Infinity as "".
662
387
  *
663
388
  * @remarks
664
389
  *
665
- * Available in Safari before 10.0.
390
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 8 and on Windows 10, Safari, Opera, and Node.js.
666
391
  */
667
- OLD_SAFARI_LOCATION_CTOR: ElementaryFeature;
392
+ RUSSIAN_INFINITY: ElementaryFeature;
668
393
 
669
394
  /**
670
- * Existence of the global object Intl having the string representation "\[object Object\]".
671
- *
672
- * @remarks
395
+ * Features available in the current stable version of Safari.
673
396
  *
674
- * Available in Internet Explorer 11, Safari 10.0+ before 14.0.1, Android Browser 4.4, and Node.js 0.12+ before 15.
397
+ * An alias for `SAFARI_18_4`.
675
398
  */
676
- PLAIN_INTL: ElementaryFeature;
399
+ SAFARI: PredefinedFeature;
677
400
 
678
401
  /**
679
- * The property that the string representation of String.prototype.matchAll\(\) evaluates to "\[object RegExp String Iterator\]".
402
+ * Features available in Safari 17.4 to 17.6.
680
403
  *
681
404
  * @remarks
682
405
  *
683
- * Available in Chrome, Edge, Firefox, Safari 13+, Opera, and Node.js 12+.
406
+ * This feature may be replaced or removed in the near future when current browser versions become obsolete. Use `SAFARI_PRE_PREV` instead of `SAFARI_17_4` for long term support.
407
+ *
408
+ * @see
409
+ *
410
+ * [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
684
411
  */
685
- REGEXP_STRING_ITERATOR: ElementaryFeature;
412
+ SAFARI_17_4: PredefinedFeature;
686
413
 
687
414
  /**
688
- * Features available in the current stable version of Safari.
415
+ * Features available in Safari 18.0 to 18.3.
689
416
  *
690
- * An alias for `SAFARI_18_4`.
417
+ * @remarks
418
+ *
419
+ * This feature may be replaced or removed in the near future when current browser versions become obsolete.
420
+ *
421
+ * @see
422
+ *
423
+ * [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
691
424
  */
692
- SAFARI: PredefinedFeature;
693
-
694
- /** Features available in Safari 10.0. */
695
- SAFARI_10_0: PredefinedFeature;
696
-
697
- /** Features available in Safari 10.1 and Safari 11. */
698
- SAFARI_10_1: PredefinedFeature;
699
-
700
- /** Features available in Safari 12. */
701
- SAFARI_12: PredefinedFeature;
702
-
703
- /** Features available in Safari 13 and Safari 14.0.0. */
704
- SAFARI_13: PredefinedFeature;
705
-
706
- /** Features available in Safari 14.0.1 to 14.0.3. */
707
- SAFARI_14_0_1: PredefinedFeature;
708
-
709
- /** Features available in Safari 14.1 to 15.3. */
710
- SAFARI_14_1: PredefinedFeature;
711
-
712
- /** Features available in Safari 15.4 to 17.3. */
713
- SAFARI_15_4: PredefinedFeature;
714
-
715
- /** Features available in Safari 17.4 to 17.6. */
716
- SAFARI_17_4: PredefinedFeature;
717
-
718
- /** Features available in Safari 18.0 to 18.3. */
719
425
  SAFARI_18_0: PredefinedFeature;
720
426
 
721
- /** Features available in Safari 18.4 or later. */
427
+ /**
428
+ * Features available in Safari 18.4 or later.
429
+ *
430
+ * @remarks
431
+ *
432
+ * This feature may be replaced or removed in the near future when current browser versions become obsolete. Use `SAFARI` or `SAFARI_PREV` instead of `SAFARI_18_4` for long term support.
433
+ *
434
+ * @see
435
+ *
436
+ * [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
437
+ */
722
438
  SAFARI_18_4: PredefinedFeature;
723
439
 
724
- /** Features available in Safari 7.0. */
725
- SAFARI_7_0: PredefinedFeature;
726
-
727
- /** Features available in Safari 7.1 and Safari 8. */
728
- SAFARI_7_1: PredefinedFeature;
729
-
730
- /** Features available in Safari 9. */
731
- SAFARI_9: PredefinedFeature;
440
+ /**
441
+ * Features available in the previous to current version of Safari.
442
+ *
443
+ * An alias for `SAFARI_18_4`.
444
+ */
445
+ SAFARI_PREV: PredefinedFeature;
732
446
 
733
- /** An alias for `ANY_WINDOW`. */
734
- SELF: ElementaryFeature;
447
+ /**
448
+ * Features available in the previous to previous version of Safari.
449
+ *
450
+ * An alias for `SAFARI_17_4`.
451
+ */
452
+ SAFARI_PRE_PREV: PredefinedFeature;
735
453
 
736
454
  /**
737
455
  * Existence of the global object self whose string representation starts with "\[object ".
738
456
  *
739
457
  * @remarks
740
458
  *
741
- * 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.
459
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, and Opera.
742
460
  */
743
- SELF_OBJ: ElementaryFeature;
461
+ SELF: ElementaryFeature;
744
462
 
745
463
  /**
746
464
  * Support for the two-letter locale name "ar" to format decimal numbers as Arabic numerals.
747
465
  *
748
466
  * @remarks
749
467
  *
750
- * Available in Firefox before 134, Internet Explorer 11, Safari 10.0+ before 18.0, Android Browser 4.4, and Node.js 13+ before 22.12–22.14 and 23.3.
468
+ * Available in Firefox before 134, Internet Explorer, Safari before 18.0, and Node.js before 22.12–22.14 and 23.3.
751
469
  */
752
470
  SHORT_LOCALES: ElementaryFeature;
753
471
 
@@ -756,21 +474,10 @@ export interface FeatureAll
756
474
  *
757
475
  * @remarks
758
476
  *
759
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers.
477
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, and Opera. This feature is not available inside web workers.
760
478
  */
761
479
  STATUS: ElementaryFeature;
762
480
 
763
- /**
764
- * The property that Object.prototype.toString.call\(\) evaluates to "\[object Undefined\]".
765
- *
766
- * This behavior is specified by ECMAScript, and is enforced by all engines except Android Browser versions prior to 4.1.2, where this feature is not available.
767
- *
768
- * @remarks
769
- *
770
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, Android Browser 4.1+, and Node.js.
771
- */
772
- UNDEFINED: ElementaryFeature;
773
-
774
481
  /**
775
482
  * A string representation of native functions typical for the V8 engine.
776
483
  *
@@ -778,7 +485,7 @@ export interface FeatureAll
778
485
  *
779
486
  * @remarks
780
487
  *
781
- * Available in Chrome, Edge, Opera, Android Browser, and Node.js.
488
+ * Available in Chrome, Edge, Opera, and Node.js.
782
489
  */
783
490
  V8_SRC: ElementaryFeature;
784
491
 
@@ -787,70 +494,44 @@ export interface FeatureAll
787
494
  *
788
495
  * @remarks
789
496
  *
790
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser 4.4. This feature is not available inside web workers.
497
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, and Opera. This feature is not available inside web workers.
791
498
  */
792
499
  WINDOW: ElementaryFeature;
793
500
  }
794
501
 
795
502
  /** Name of an elementary feature. */
796
503
  type ElementaryFeatureName =
797
- | 'ANY_DOCUMENT'
798
- | 'ANY_WINDOW'
799
504
  | 'ARRAY_ITERATOR'
800
505
  | 'ARROW'
801
- | 'ASYNC_FUNCTION'
802
506
  | 'AT'
803
- | 'ATOB'
804
507
  | 'BARPROP'
805
- | 'CALL_ON_GLOBAL'
806
508
  | 'CAPITAL_HTML'
807
509
  | 'CONSOLE'
808
510
  | 'DOCUMENT'
809
- | 'DOMWINDOW'
810
- | 'ESC_HTML_ALL'
811
511
  | 'ESC_HTML_QUOT'
812
- | 'ESC_HTML_QUOT_ONLY'
813
- | 'ESC_REGEXP_LF'
814
- | 'ESC_REGEXP_SLASH'
815
512
  | 'FF_SRC'
816
- | 'FILL'
817
513
  | 'FLAT'
818
514
  | 'FROM_CODE_POINT'
819
515
  | 'FUNCTION_19_LF'
820
516
  | 'FUNCTION_22_LF'
821
- | 'GENERIC_ARRAY_TO_STRING'
822
- | 'GLOBAL_UNDEFINED'
823
- | 'GMT'
824
- | 'HISTORY'
825
- | 'HTMLAUDIOELEMENT'
826
517
  | 'IE_SRC'
827
518
  | 'INCR_CHAR'
828
- | 'INTL'
829
519
  | 'ITERATOR_HELPER'
830
- | 'JAPANESE_INFINITY'
831
520
  | 'LOCALE_INFINITY'
832
- | 'LOCALE_NUMERALS'
833
521
  | 'LOCALE_NUMERALS_BN'
834
522
  | 'LOCALE_NUMERALS_EXT'
835
- | 'LOCATION'
836
- | 'MOZILLA'
837
523
  | 'NAME'
838
- | 'NODECONSTRUCTOR'
839
524
  | 'NO_FF_SRC'
840
525
  | 'NO_IE_SRC'
841
- | 'NO_OLD_SAFARI_ARRAY_ITERATOR'
842
526
  | 'NO_V8_SRC'
843
527
  | 'OBJECT_ARRAY_ENTRIES_CTOR'
844
- | 'OBJECT_L_LOCATION_CTOR'
845
- | 'OBJECT_UNDEFINED'
846
528
  | 'OBJECT_W_SELF'
847
- | 'OLD_SAFARI_LOCATION_CTOR'
848
529
  | 'PLAIN_INTL'
849
530
  | 'REGEXP_STRING_ITERATOR'
850
- | 'SELF_OBJ'
531
+ | 'RUSSIAN_INFINITY'
532
+ | 'SELF'
851
533
  | 'SHORT_LOCALES'
852
534
  | 'STATUS'
853
- | 'UNDEFINED'
854
535
  | 'V8_SRC'
855
536
  | 'WINDOW'
856
537
  ;
@@ -858,9 +539,6 @@ type ElementaryFeatureName =
858
539
  /** Name of a predefined feature. */
859
540
  type PredefinedFeatureName =
860
541
  ElementaryFeatureName
861
- | 'ANDRO_4_0'
862
- | 'ANDRO_4_1'
863
- | 'ANDRO_4_4'
864
542
  | 'AUTO'
865
543
  | 'BROWSER'
866
544
  | 'CHROME_122'
@@ -869,35 +547,13 @@ ElementaryFeatureName
869
547
  | 'FF_131'
870
548
  | 'FF_134'
871
549
  | 'FF_90'
872
- | 'IE_10'
873
550
  | 'IE_11'
874
551
  | 'IE_11_WIN_10'
875
- | 'IE_9'
876
- | 'NODE_0_10'
877
- | 'NODE_0_12'
878
- | 'NODE_10'
879
- | 'NODE_11'
880
- | 'NODE_12'
881
- | 'NODE_13'
882
- | 'NODE_15'
883
- | 'NODE_16_0'
884
- | 'NODE_16_6'
552
+ | 'IE_11_WIN_8'
553
+ | 'NODE_20'
885
554
  | 'NODE_22'
886
555
  | 'NODE_22_12'
887
- | 'NODE_4'
888
- | 'NODE_5'
889
- | 'NODE_7_6'
890
- | 'SAFARI_10_0'
891
- | 'SAFARI_10_1'
892
- | 'SAFARI_12'
893
- | 'SAFARI_13'
894
- | 'SAFARI_14_0_1'
895
- | 'SAFARI_14_1'
896
- | 'SAFARI_15_4'
897
556
  | 'SAFARI_17_4'
898
557
  | 'SAFARI_18_0'
899
558
  | 'SAFARI_18_4'
900
- | 'SAFARI_7_0'
901
- | 'SAFARI_7_1'
902
- | 'SAFARI_9'
903
559
  ;