jscrewit 2.41.0 → 3.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.
@@ -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.
24
+ * Existence of the native functions Array.prototype.at and String.prototype.at.
52
25
  *
53
26
  * @remarks
54
27
  *
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.
61
- *
62
- * @remarks
63
- *
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
  *
@@ -305,7 +199,7 @@ export interface FeatureAll
305
199
  *
306
200
  * @remarks
307
201
  *
308
- * Available in Chrome, Edge, Firefox, Safari 7.1+, Opera, and Node.js 4+.
202
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
309
203
  */
310
204
  FILL: ElementaryFeature;
311
205
 
@@ -314,23 +208,16 @@ export interface FeatureAll
314
208
  *
315
209
  * @remarks
316
210
  *
317
- * Available in Chrome, Edge, Firefox, Safari 12+, Opera, and Node.js 11+.
211
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
318
212
  */
319
213
  FLAT: ElementaryFeature;
320
214
 
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
215
  /**
329
216
  * Existence of the function String.fromCodePoint.
330
217
  *
331
218
  * @remarks
332
219
  *
333
- * Available in Chrome, Edge, Firefox, Safari 9+, Opera, and Node.js 4+.
220
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
334
221
  */
335
222
  FROM_CODE_POINT: ElementaryFeature;
336
223
 
@@ -339,7 +226,7 @@ export interface FeatureAll
339
226
  *
340
227
  * @remarks
341
228
  *
342
- * Available in Chrome, Edge, Firefox, Safari 17.4+, Opera, and Node.js 10+.
229
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
343
230
  */
344
231
  FUNCTION_19_LF: ElementaryFeature;
345
232
 
@@ -348,69 +235,16 @@ export interface FeatureAll
348
235
  *
349
236
  * @remarks
350
237
  *
351
- * Available in Internet Explorer, Safari 9+ before 17.4, Android Browser, and Node.js before 10.
238
+ * Available in Internet Explorer.
352
239
  */
353
240
  FUNCTION_22_LF: ElementaryFeature;
354
241
 
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
242
  /** Features available in Internet Explorer 11. */
406
243
  IE_11: PredefinedFeature;
407
244
 
408
245
  /** Features available in Internet Explorer 11 on Windows 10. */
409
246
  IE_11_WIN_10: PredefinedFeature;
410
247
 
411
- /** Features available in Internet Explorer 9. */
412
- IE_9: PredefinedFeature;
413
-
414
248
  /**
415
249
  * A string representation of native functions typical for Internet Explorer.
416
250
  *
@@ -427,19 +261,10 @@ export interface FeatureAll
427
261
  *
428
262
  * @remarks
429
263
  *
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+.
264
+ * 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
265
  */
432
266
  INCR_CHAR: ElementaryFeature;
433
267
 
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
268
  /**
444
269
  * Availability of iterator helpers.
445
270
  *
@@ -449,115 +274,46 @@ export interface FeatureAll
449
274
  */
450
275
  ITERATOR_HELPER: ElementaryFeature;
451
276
 
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
277
  /**
462
278
  * Language sensitive string representation of Infinity as "∞".
463
279
  *
464
280
  * @remarks
465
281
  *
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+.
282
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari, Opera, and Node.js.
467
283
  */
468
284
  LOCALE_INFINITY: ElementaryFeature;
469
285
 
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
286
  /**
480
287
  * Localized number formatting for Bengali.
481
288
  *
482
289
  * @remarks
483
290
  *
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+.
291
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari before 18.4, Opera, and Node.js.
485
292
  */
486
293
  LOCALE_NUMERALS_BN: ElementaryFeature;
487
294
 
488
295
  /**
489
296
  * Extended localized number formatting.
490
297
  *
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 \("ناعدد"\).
298
+ * 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
299
  *
493
300
  * @remarks
494
301
  *
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+.
302
+ * Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari, Opera, and Node.js.
496
303
  */
497
304
  LOCALE_NUMERALS_EXT: ElementaryFeature;
498
305
 
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
306
  /**
518
307
  * Existence of the name property for functions.
519
308
  *
520
309
  * @remarks
521
310
  *
522
- * Available in Chrome, Edge, Firefox, Safari, Opera, Android Browser, and Node.js.
311
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
523
312
  */
524
313
  NAME: ElementaryFeature;
525
314
 
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;
315
+ /** Features available in Node.js 20 to 21. */
316
+ NODE_20: PredefinedFeature;
561
317
 
562
318
  /** Features available in Node.js 22.0 to 22.11 and Node.js 23.0 to 23.2. */
563
319
  NODE_22: PredefinedFeature;
@@ -565,28 +321,12 @@ export interface FeatureAll
565
321
  /** Features available in Node.js 22.12 to 22.14 and Node.js 23.3 or later. */
566
322
  NODE_22_12: PredefinedFeature;
567
323
 
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
324
  /**
585
325
  * A string representation of native functions typical for V8 or for Internet Explorer but not for Firefox and Safari.
586
326
  *
587
327
  * @remarks
588
328
  *
589
- * Available in Chrome, Edge, Internet Explorer, Opera, Android Browser, and Node.js.
329
+ * Available in Chrome, Edge, Internet Explorer, Opera, and Node.js.
590
330
  */
591
331
  NO_FF_SRC: ElementaryFeature;
592
332
 
@@ -597,19 +337,10 @@ export interface FeatureAll
597
337
  *
598
338
  * @remarks
599
339
  *
600
- * Available in Chrome, Edge, Firefox, Safari, Opera, Android Browser, and Node.js.
340
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
601
341
  */
602
342
  NO_IE_SRC: ElementaryFeature;
603
343
 
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
344
  /**
614
345
  * A string representation of native functions typical for Firefox, Internet Explorer and Safari.
615
346
  *
@@ -626,128 +357,112 @@ export interface FeatureAll
626
357
  *
627
358
  * @remarks
628
359
  *
629
- * Available in Firefox before 131, Safari 9+ before 18.4, and Node.js 0.12+ before 22.0.
360
+ * Available in Firefox before 131, Safari before 18.4, and Node.js before 22.0.
630
361
  */
631
362
  OBJECT_ARRAY_ENTRIES_CTOR: ElementaryFeature;
632
363
 
633
364
  /**
634
- * Existence of the global function location.constructor whose string representation starts with "\[object L".
365
+ * The property that the string representation of the global object self starts with "\[object W".
635
366
  *
636
367
  * @remarks
637
368
  *
638
- * Available in Internet Explorer and Safari before 10.0. This feature is not available inside web workers.
369
+ * 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
370
  */
640
- OBJECT_L_LOCATION_CTOR: ElementaryFeature;
371
+ OBJECT_W_SELF: ElementaryFeature;
641
372
 
642
373
  /**
643
- * Having the function Object.prototype.toString return the string "\[object Undefined\]" when invoked without a binding.
374
+ * Existence of the global object Intl having the string representation "\[object Object\]".
644
375
  *
645
376
  * @remarks
646
377
  *
647
- * Available in Chrome, Edge, Firefox, Internet Explorer 10+, Safari, Opera, Android Browser 4.1+, and Node.js.
378
+ * Available in Internet Explorer.
648
379
  */
649
- OBJECT_UNDEFINED: ElementaryFeature;
380
+ PLAIN_INTL: ElementaryFeature;
650
381
 
651
382
  /**
652
- * The property that the string representation of the global object self starts with "\[object W".
383
+ * The property that the string representation of String.prototype.matchAll\(\) evaluates to "\[object RegExp String Iterator\]".
653
384
  *
654
385
  * @remarks
655
386
  *
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.
387
+ * Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
657
388
  */
658
- OBJECT_W_SELF: ElementaryFeature;
389
+ REGEXP_STRING_ITERATOR: ElementaryFeature;
390
+
391
+ /**
392
+ * Features available in the current stable version of Safari.
393
+ *
394
+ * An alias for `SAFARI_18_4`.
395
+ */
396
+ SAFARI: PredefinedFeature;
659
397
 
660
398
  /**
661
- * Existence of the global object location.constructor whose string representation starts with "\[object " and ends with "LocationConstructor\]".
399
+ * Features available in Safari 17.4 to 17.6.
662
400
  *
663
401
  * @remarks
664
402
  *
665
- * Available in Safari before 10.0.
403
+ * 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.
404
+ *
405
+ * @see
406
+ *
407
+ * [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
666
408
  */
667
- OLD_SAFARI_LOCATION_CTOR: ElementaryFeature;
409
+ SAFARI_17_4: PredefinedFeature;
668
410
 
669
411
  /**
670
- * Existence of the global object Intl having the string representation "\[object Object\]".
412
+ * Features available in Safari 18.0 to 18.3.
671
413
  *
672
414
  * @remarks
673
415
  *
674
- * Available in Internet Explorer 11, Safari 10.0+ before 14.0.1, Android Browser 4.4, and Node.js 0.12+ before 15.
416
+ * This feature may be replaced or removed in the near future when current browser versions become obsolete.
417
+ *
418
+ * @see
419
+ *
420
+ * [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
675
421
  */
676
- PLAIN_INTL: ElementaryFeature;
422
+ SAFARI_18_0: PredefinedFeature;
677
423
 
678
424
  /**
679
- * The property that the string representation of String.prototype.matchAll\(\) evaluates to "\[object RegExp String Iterator\]".
425
+ * Features available in Safari 18.4 or later.
680
426
  *
681
427
  * @remarks
682
428
  *
683
- * Available in Chrome, Edge, Firefox, Safari 13+, Opera, and Node.js 12+.
429
+ * 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.
430
+ *
431
+ * @see
432
+ *
433
+ * [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
684
434
  */
685
- REGEXP_STRING_ITERATOR: ElementaryFeature;
435
+ SAFARI_18_4: PredefinedFeature;
686
436
 
687
437
  /**
688
- * Features available in the current stable version of Safari.
438
+ * Features available in the previous to current version of Safari.
689
439
  *
690
440
  * An alias for `SAFARI_18_4`.
691
441
  */
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
- SAFARI_18_0: PredefinedFeature;
720
-
721
- /** Features available in Safari 18.4 or later. */
722
- SAFARI_18_4: PredefinedFeature;
442
+ SAFARI_PREV: PredefinedFeature;
723
443
 
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;
732
-
733
- /** An alias for `ANY_WINDOW`. */
734
- SELF: ElementaryFeature;
444
+ /**
445
+ * Features available in the previous to previous version of Safari.
446
+ *
447
+ * An alias for `SAFARI_17_4`.
448
+ */
449
+ SAFARI_PRE_PREV: PredefinedFeature;
735
450
 
736
451
  /**
737
452
  * Existence of the global object self whose string representation starts with "\[object ".
738
453
  *
739
454
  * @remarks
740
455
  *
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.
456
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, and Opera.
742
457
  */
743
- SELF_OBJ: ElementaryFeature;
458
+ SELF: ElementaryFeature;
744
459
 
745
460
  /**
746
461
  * Support for the two-letter locale name "ar" to format decimal numbers as Arabic numerals.
747
462
  *
748
463
  * @remarks
749
464
  *
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.
465
+ * Available in Firefox before 134, Internet Explorer, Safari before 18.0, and Node.js before 22.12–22.14 and 23.3.
751
466
  */
752
467
  SHORT_LOCALES: ElementaryFeature;
753
468
 
@@ -756,21 +471,10 @@ export interface FeatureAll
756
471
  *
757
472
  * @remarks
758
473
  *
759
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers.
474
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, and Opera. This feature is not available inside web workers.
760
475
  */
761
476
  STATUS: ElementaryFeature;
762
477
 
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
478
  /**
775
479
  * A string representation of native functions typical for the V8 engine.
776
480
  *
@@ -778,7 +482,7 @@ export interface FeatureAll
778
482
  *
779
483
  * @remarks
780
484
  *
781
- * Available in Chrome, Edge, Opera, Android Browser, and Node.js.
485
+ * Available in Chrome, Edge, Opera, and Node.js.
782
486
  */
783
487
  V8_SRC: ElementaryFeature;
784
488
 
@@ -787,70 +491,44 @@ export interface FeatureAll
787
491
  *
788
492
  * @remarks
789
493
  *
790
- * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser 4.4. This feature is not available inside web workers.
494
+ * Available in Chrome, Edge, Firefox, Internet Explorer, Safari, and Opera. This feature is not available inside web workers.
791
495
  */
792
496
  WINDOW: ElementaryFeature;
793
497
  }
794
498
 
795
499
  /** Name of an elementary feature. */
796
500
  type ElementaryFeatureName =
797
- | 'ANY_DOCUMENT'
798
- | 'ANY_WINDOW'
799
501
  | 'ARRAY_ITERATOR'
800
502
  | 'ARROW'
801
- | 'ASYNC_FUNCTION'
802
503
  | 'AT'
803
- | 'ATOB'
804
504
  | 'BARPROP'
805
- | 'CALL_ON_GLOBAL'
806
505
  | 'CAPITAL_HTML'
807
506
  | 'CONSOLE'
808
507
  | 'DOCUMENT'
809
- | 'DOMWINDOW'
810
- | 'ESC_HTML_ALL'
811
508
  | 'ESC_HTML_QUOT'
812
- | 'ESC_HTML_QUOT_ONLY'
813
- | 'ESC_REGEXP_LF'
814
- | 'ESC_REGEXP_SLASH'
815
509
  | 'FF_SRC'
816
510
  | 'FILL'
817
511
  | 'FLAT'
818
512
  | 'FROM_CODE_POINT'
819
513
  | 'FUNCTION_19_LF'
820
514
  | 'FUNCTION_22_LF'
821
- | 'GENERIC_ARRAY_TO_STRING'
822
- | 'GLOBAL_UNDEFINED'
823
- | 'GMT'
824
- | 'HISTORY'
825
- | 'HTMLAUDIOELEMENT'
826
515
  | 'IE_SRC'
827
516
  | 'INCR_CHAR'
828
- | 'INTL'
829
517
  | 'ITERATOR_HELPER'
830
- | 'JAPANESE_INFINITY'
831
518
  | 'LOCALE_INFINITY'
832
- | 'LOCALE_NUMERALS'
833
519
  | 'LOCALE_NUMERALS_BN'
834
520
  | 'LOCALE_NUMERALS_EXT'
835
- | 'LOCATION'
836
- | 'MOZILLA'
837
521
  | 'NAME'
838
- | 'NODECONSTRUCTOR'
839
522
  | 'NO_FF_SRC'
840
523
  | 'NO_IE_SRC'
841
- | 'NO_OLD_SAFARI_ARRAY_ITERATOR'
842
524
  | 'NO_V8_SRC'
843
525
  | 'OBJECT_ARRAY_ENTRIES_CTOR'
844
- | 'OBJECT_L_LOCATION_CTOR'
845
- | 'OBJECT_UNDEFINED'
846
526
  | 'OBJECT_W_SELF'
847
- | 'OLD_SAFARI_LOCATION_CTOR'
848
527
  | 'PLAIN_INTL'
849
528
  | 'REGEXP_STRING_ITERATOR'
850
- | 'SELF_OBJ'
529
+ | 'SELF'
851
530
  | 'SHORT_LOCALES'
852
531
  | 'STATUS'
853
- | 'UNDEFINED'
854
532
  | 'V8_SRC'
855
533
  | 'WINDOW'
856
534
  ;
@@ -858,9 +536,6 @@ type ElementaryFeatureName =
858
536
  /** Name of a predefined feature. */
859
537
  type PredefinedFeatureName =
860
538
  ElementaryFeatureName
861
- | 'ANDRO_4_0'
862
- | 'ANDRO_4_1'
863
- | 'ANDRO_4_4'
864
539
  | 'AUTO'
865
540
  | 'BROWSER'
866
541
  | 'CHROME_122'
@@ -869,35 +544,12 @@ ElementaryFeatureName
869
544
  | 'FF_131'
870
545
  | 'FF_134'
871
546
  | 'FF_90'
872
- | 'IE_10'
873
547
  | 'IE_11'
874
548
  | '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'
549
+ | 'NODE_20'
885
550
  | 'NODE_22'
886
551
  | '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
552
  | 'SAFARI_17_4'
898
553
  | 'SAFARI_18_0'
899
554
  | 'SAFARI_18_4'
900
- | 'SAFARI_7_0'
901
- | 'SAFARI_7_1'
902
- | 'SAFARI_9'
903
555
  ;