jscrewit 2.33.1 → 2.35.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.
@@ -10,19 +10,19 @@
10
10
 
11
11
  ### FeatureConstructor
12
12
 
13
- ▸ **FeatureConstructor**(...`features`): [`CustomFeature`](CustomFeature.md)
13
+ ▸ **FeatureConstructor**(`...features`): [`CustomFeature`](CustomFeature.md)
14
14
 
15
15
  Creates a new feature object from the union of the specified features.
16
16
 
17
17
  The constructor can be used with or without the `new` operator, e.g.
18
18
  `new JScrewIt.Feature(feature1, feature2)` or `JScrewIt.Feature(feature1, feature2)`.
19
19
  If no arguments are specified, the new feature object will be equivalent to
20
- <code>[DEFAULT](FeatureConstructor.md#default)</code>.
20
+ [`DEFAULT`](FeatureConstructor.md#default).
21
21
 
22
- **`example`**
22
+ **`Example`**
23
23
 
24
24
  The following statements are equivalent, and will all construct a new feature object
25
- including both <code>[ANY_DOCUMENT](FeatureConstructor.md#any_document)</code> and <code>[ANY_WINDOW](FeatureConstructor.md#any_window)</code>.
25
+ including both [`ANY_DOCUMENT`](FeatureConstructor.md#any_document) and [`ANY_WINDOW`](FeatureConstructor.md#any_window).
26
26
 
27
27
  ```js
28
28
  new JScrewIt.Feature("ANY_DOCUMENT", "ANY_WINDOW");
@@ -36,7 +36,7 @@ new JScrewIt.Feature(JScrewIt.Feature.ANY_DOCUMENT, JScrewIt.Feature.ANY_WINDOW)
36
36
  new JScrewIt.Feature([JScrewIt.Feature.ANY_DOCUMENT, JScrewIt.Feature.ANY_WINDOW]);
37
37
  ```
38
38
 
39
- **`throws`**
39
+ **`Throws`**
40
40
 
41
41
  An error is thrown if any of the specified features are not mutually compatible.
42
42
 
@@ -59,100 +59,99 @@ An error is thrown if any of the specified features are not mutually compatible.
59
59
  ### Properties
60
60
 
61
61
  - [ALL](FeatureConstructor.md#all)
62
- - [ANDRO_4_0](FeatureConstructor.md#andro_4_0)
63
- - [ANDRO_4_1](FeatureConstructor.md#andro_4_1)
64
- - [ANDRO_4_4](FeatureConstructor.md#andro_4_4)
65
- - [ANY_DOCUMENT](FeatureConstructor.md#any_document)
66
- - [ANY_WINDOW](FeatureConstructor.md#any_window)
67
- - [ARRAY_ITERATOR](FeatureConstructor.md#array_iterator)
62
+ - [ANDRO\_4\_0](FeatureConstructor.md#andro_4_0)
63
+ - [ANDRO\_4\_1](FeatureConstructor.md#andro_4_1)
64
+ - [ANDRO\_4\_4](FeatureConstructor.md#andro_4_4)
65
+ - [ANY\_DOCUMENT](FeatureConstructor.md#any_document)
66
+ - [ANY\_WINDOW](FeatureConstructor.md#any_window)
67
+ - [ARRAY\_ITERATOR](FeatureConstructor.md#array_iterator)
68
68
  - [ARROW](FeatureConstructor.md#arrow)
69
69
  - [AT](FeatureConstructor.md#at)
70
70
  - [ATOB](FeatureConstructor.md#atob)
71
71
  - [AUTO](FeatureConstructor.md#auto)
72
72
  - [BARPROP](FeatureConstructor.md#barprop)
73
73
  - [BROWSER](FeatureConstructor.md#browser)
74
- - [CAPITAL_HTML](FeatureConstructor.md#capital_html)
74
+ - [CAPITAL\_HTML](FeatureConstructor.md#capital_html)
75
75
  - [CHROME](FeatureConstructor.md#chrome)
76
- - [CHROME_92](FeatureConstructor.md#chrome_92)
77
- - [CHROME_PREV](FeatureConstructor.md#chrome_prev)
76
+ - [CHROME\_92](FeatureConstructor.md#chrome_92)
77
+ - [CHROME\_PREV](FeatureConstructor.md#chrome_prev)
78
78
  - [COMPACT](FeatureConstructor.md#compact)
79
79
  - [CONSOLE](FeatureConstructor.md#console)
80
80
  - [DEFAULT](FeatureConstructor.md#default)
81
81
  - [DOCUMENT](FeatureConstructor.md#document)
82
82
  - [DOMWINDOW](FeatureConstructor.md#domwindow)
83
83
  - [ELEMENTARY](FeatureConstructor.md#elementary)
84
- - [ESC_HTML_ALL](FeatureConstructor.md#esc_html_all)
85
- - [ESC_HTML_QUOT](FeatureConstructor.md#esc_html_quot)
86
- - [ESC_HTML_QUOT_ONLY](FeatureConstructor.md#esc_html_quot_only)
87
- - [ESC_REGEXP_LF](FeatureConstructor.md#esc_regexp_lf)
88
- - [ESC_REGEXP_SLASH](FeatureConstructor.md#esc_regexp_slash)
84
+ - [ESC\_HTML\_ALL](FeatureConstructor.md#esc_html_all)
85
+ - [ESC\_HTML\_QUOT](FeatureConstructor.md#esc_html_quot)
86
+ - [ESC\_HTML\_QUOT\_ONLY](FeatureConstructor.md#esc_html_quot_only)
87
+ - [ESC\_REGEXP\_LF](FeatureConstructor.md#esc_regexp_lf)
88
+ - [ESC\_REGEXP\_SLASH](FeatureConstructor.md#esc_regexp_slash)
89
89
  - [FF](FeatureConstructor.md#ff)
90
- - [FF_78](FeatureConstructor.md#ff_78)
91
- - [FF_83](FeatureConstructor.md#ff_83)
92
- - [FF_90](FeatureConstructor.md#ff_90)
93
- - [FF_ESR](FeatureConstructor.md#ff_esr)
94
- - [FF_PREV](FeatureConstructor.md#ff_prev)
95
- - [FF_SRC](FeatureConstructor.md#ff_src)
90
+ - [FF\_90](FeatureConstructor.md#ff_90)
91
+ - [FF\_ESR](FeatureConstructor.md#ff_esr)
92
+ - [FF\_PREV](FeatureConstructor.md#ff_prev)
93
+ - [FF\_SRC](FeatureConstructor.md#ff_src)
96
94
  - [FILL](FeatureConstructor.md#fill)
97
95
  - [FLAT](FeatureConstructor.md#flat)
98
- - [FROM_CODE_POINT](FeatureConstructor.md#from_code_point)
99
- - [FUNCTION_19_LF](FeatureConstructor.md#function_19_lf)
100
- - [FUNCTION_22_LF](FeatureConstructor.md#function_22_lf)
101
- - [GENERIC_ARRAY_TO_STRING](FeatureConstructor.md#generic_array_to_string)
102
- - [GLOBAL_UNDEFINED](FeatureConstructor.md#global_undefined)
96
+ - [FROM\_CODE\_POINT](FeatureConstructor.md#from_code_point)
97
+ - [FUNCTION\_19\_LF](FeatureConstructor.md#function_19_lf)
98
+ - [FUNCTION\_22\_LF](FeatureConstructor.md#function_22_lf)
99
+ - [GENERIC\_ARRAY\_TO\_STRING](FeatureConstructor.md#generic_array_to_string)
100
+ - [GLOBAL\_UNDEFINED](FeatureConstructor.md#global_undefined)
103
101
  - [GMT](FeatureConstructor.md#gmt)
104
102
  - [HISTORY](FeatureConstructor.md#history)
105
103
  - [HTMLAUDIOELEMENT](FeatureConstructor.md#htmlaudioelement)
106
104
  - [HTMLDOCUMENT](FeatureConstructor.md#htmldocument)
107
- - [IE_10](FeatureConstructor.md#ie_10)
108
- - [IE_11](FeatureConstructor.md#ie_11)
109
- - [IE_11_WIN_10](FeatureConstructor.md#ie_11_win_10)
110
- - [IE_9](FeatureConstructor.md#ie_9)
111
- - [IE_SRC](FeatureConstructor.md#ie_src)
112
- - [INCR_CHAR](FeatureConstructor.md#incr_char)
105
+ - [IE\_10](FeatureConstructor.md#ie_10)
106
+ - [IE\_11](FeatureConstructor.md#ie_11)
107
+ - [IE\_11\_WIN\_10](FeatureConstructor.md#ie_11_win_10)
108
+ - [IE\_9](FeatureConstructor.md#ie_9)
109
+ - [IE\_SRC](FeatureConstructor.md#ie_src)
110
+ - [INCR\_CHAR](FeatureConstructor.md#incr_char)
113
111
  - [INTL](FeatureConstructor.md#intl)
114
- - [LOCALE_INFINITY](FeatureConstructor.md#locale_infinity)
115
- - [LOCALE_NUMERALS](FeatureConstructor.md#locale_numerals)
116
- - [LOCALE_NUMERALS_EXT](FeatureConstructor.md#locale_numerals_ext)
112
+ - [LOCALE\_INFINITY](FeatureConstructor.md#locale_infinity)
113
+ - [LOCALE\_NUMERALS](FeatureConstructor.md#locale_numerals)
114
+ - [LOCALE\_NUMERALS\_EXT](FeatureConstructor.md#locale_numerals_ext)
117
115
  - [LOCATION](FeatureConstructor.md#location)
118
116
  - [NAME](FeatureConstructor.md#name)
119
117
  - [NODECONSTRUCTOR](FeatureConstructor.md#nodeconstructor)
120
- - [NODE_0_10](FeatureConstructor.md#node_0_10)
121
- - [NODE_0_12](FeatureConstructor.md#node_0_12)
122
- - [NODE_10](FeatureConstructor.md#node_10)
123
- - [NODE_11](FeatureConstructor.md#node_11)
124
- - [NODE_12](FeatureConstructor.md#node_12)
125
- - [NODE_13](FeatureConstructor.md#node_13)
126
- - [NODE_15](FeatureConstructor.md#node_15)
127
- - [NODE_16_0](FeatureConstructor.md#node_16_0)
128
- - [NODE_16_6](FeatureConstructor.md#node_16_6)
129
- - [NODE_4](FeatureConstructor.md#node_4)
130
- - [NODE_5](FeatureConstructor.md#node_5)
131
- - [NO_FF_SRC](FeatureConstructor.md#no_ff_src)
132
- - [NO_IE_SRC](FeatureConstructor.md#no_ie_src)
133
- - [NO_OLD_SAFARI_ARRAY_ITERATOR](FeatureConstructor.md#no_old_safari_array_iterator)
134
- - [NO_V8_SRC](FeatureConstructor.md#no_v8_src)
135
- - [OBJECT_L_LOCATION_CTOR](FeatureConstructor.md#object_l_location_ctor)
136
- - [OBJECT_UNDEFINED](FeatureConstructor.md#object_undefined)
137
- - [OBJECT_W_CTOR](FeatureConstructor.md#object_w_ctor)
138
- - [OLD_SAFARI_LOCATION_CTOR](FeatureConstructor.md#old_safari_location_ctor)
139
- - [PLAIN_INTL](FeatureConstructor.md#plain_intl)
140
- - [REGEXP_STRING_ITERATOR](FeatureConstructor.md#regexp_string_iterator)
118
+ - [NODE\_0\_10](FeatureConstructor.md#node_0_10)
119
+ - [NODE\_0\_12](FeatureConstructor.md#node_0_12)
120
+ - [NODE\_10](FeatureConstructor.md#node_10)
121
+ - [NODE\_11](FeatureConstructor.md#node_11)
122
+ - [NODE\_12](FeatureConstructor.md#node_12)
123
+ - [NODE\_13](FeatureConstructor.md#node_13)
124
+ - [NODE\_15](FeatureConstructor.md#node_15)
125
+ - [NODE\_16\_0](FeatureConstructor.md#node_16_0)
126
+ - [NODE\_16\_6](FeatureConstructor.md#node_16_6)
127
+ - [NODE\_4](FeatureConstructor.md#node_4)
128
+ - [NODE\_5](FeatureConstructor.md#node_5)
129
+ - [NO\_FF\_SRC](FeatureConstructor.md#no_ff_src)
130
+ - [NO\_IE\_SRC](FeatureConstructor.md#no_ie_src)
131
+ - [NO\_OLD\_SAFARI\_ARRAY\_ITERATOR](FeatureConstructor.md#no_old_safari_array_iterator)
132
+ - [NO\_V8\_SRC](FeatureConstructor.md#no_v8_src)
133
+ - [OBJECT\_L\_LOCATION\_CTOR](FeatureConstructor.md#object_l_location_ctor)
134
+ - [OBJECT\_UNDEFINED](FeatureConstructor.md#object_undefined)
135
+ - [OBJECT\_W\_CTOR](FeatureConstructor.md#object_w_ctor)
136
+ - [OLD\_SAFARI\_LOCATION\_CTOR](FeatureConstructor.md#old_safari_location_ctor)
137
+ - [PLAIN\_INTL](FeatureConstructor.md#plain_intl)
138
+ - [REGEXP\_STRING\_ITERATOR](FeatureConstructor.md#regexp_string_iterator)
141
139
  - [SAFARI](FeatureConstructor.md#safari)
142
- - [SAFARI_10](FeatureConstructor.md#safari_10)
143
- - [SAFARI_12](FeatureConstructor.md#safari_12)
144
- - [SAFARI_13](FeatureConstructor.md#safari_13)
145
- - [SAFARI_14_0_1](FeatureConstructor.md#safari_14_0_1)
146
- - [SAFARI_14_1](FeatureConstructor.md#safari_14_1)
147
- - [SAFARI_7_0](FeatureConstructor.md#safari_7_0)
148
- - [SAFARI_7_1](FeatureConstructor.md#safari_7_1)
149
- - [SAFARI_9](FeatureConstructor.md#safari_9)
140
+ - [SAFARI\_10](FeatureConstructor.md#safari_10)
141
+ - [SAFARI\_12](FeatureConstructor.md#safari_12)
142
+ - [SAFARI\_13](FeatureConstructor.md#safari_13)
143
+ - [SAFARI\_14\_0\_1](FeatureConstructor.md#safari_14_0_1)
144
+ - [SAFARI\_14\_1](FeatureConstructor.md#safari_14_1)
145
+ - [SAFARI\_15\_4](FeatureConstructor.md#safari_15_4)
146
+ - [SAFARI\_7\_0](FeatureConstructor.md#safari_7_0)
147
+ - [SAFARI\_7\_1](FeatureConstructor.md#safari_7_1)
148
+ - [SAFARI\_9](FeatureConstructor.md#safari_9)
150
149
  - [SELF](FeatureConstructor.md#self)
151
- - [SELF_OBJ](FeatureConstructor.md#self_obj)
152
- - [SHORT_LOCALES](FeatureConstructor.md#short_locales)
150
+ - [SELF\_OBJ](FeatureConstructor.md#self_obj)
151
+ - [SHORT\_LOCALES](FeatureConstructor.md#short_locales)
153
152
  - [STATUS](FeatureConstructor.md#status)
154
153
  - [UNDEFINED](FeatureConstructor.md#undefined)
155
- - [V8_SRC](FeatureConstructor.md#v8_src)
154
+ - [V8\_SRC](FeatureConstructor.md#v8_src)
156
155
  - [WINDOW](FeatureConstructor.md#window)
157
156
 
158
157
  ### Methods
@@ -166,19 +165,19 @@ An error is thrown if any of the specified features are not mutually compatible.
166
165
 
167
166
  ### constructor
168
167
 
169
- • **new FeatureConstructor**(...`features`)
168
+ • **new FeatureConstructor**(`...features`)
170
169
 
171
170
  Creates a new feature object from the union of the specified features.
172
171
 
173
172
  The constructor can be used with or without the `new` operator, e.g.
174
173
  `new JScrewIt.Feature(feature1, feature2)` or `JScrewIt.Feature(feature1, feature2)`.
175
174
  If no arguments are specified, the new feature object will be equivalent to
176
- <code>[DEFAULT](FeatureConstructor.md#default)</code>.
175
+ [`DEFAULT`](FeatureConstructor.md#default).
177
176
 
178
- **`example`**
177
+ **`Example`**
179
178
 
180
179
  The following statements are equivalent, and will all construct a new feature object
181
- including both <code>[ANY_DOCUMENT](FeatureConstructor.md#any_document)</code> and <code>[ANY_WINDOW](FeatureConstructor.md#any_window)</code>.
180
+ including both [`ANY_DOCUMENT`](FeatureConstructor.md#any_document) and [`ANY_WINDOW`](FeatureConstructor.md#any_window).
182
181
 
183
182
  ```js
184
183
  JScrewIt.Feature("ANY_DOCUMENT", "ANY_WINDOW");
@@ -192,7 +191,7 @@ JScrewIt.Feature(JScrewIt.Feature.ANY_DOCUMENT, JScrewIt.Feature.ANY_WINDOW);
192
191
  JScrewIt.Feature([JScrewIt.Feature.ANY_DOCUMENT, JScrewIt.Feature.ANY_WINDOW]);
193
192
  ```
194
193
 
195
- **`throws`**
194
+ **`Throws`**
196
195
 
197
196
  An error is thrown if any of the specified features are not mutually compatible.
198
197
 
@@ -214,7 +213,7 @@ FeatureAll.constructor
214
213
 
215
214
  An immutable mapping of all predefined feature objects accessed by name or alias.
216
215
 
217
- **`example`**
216
+ **`Example`**
218
217
 
219
218
  This will produce an array with the names and aliases of all predefined features.
220
219
 
@@ -272,7 +271,7 @@ ___
272
271
 
273
272
  Existence of the global object document whose string representation starts with "\[object " and ends with "Document\]".
274
273
 
275
- **`remarks`**
274
+ **`Remarks`**
276
275
 
277
276
  Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers.
278
277
 
@@ -288,7 +287,7 @@ ___
288
287
 
289
288
  Existence of the global object self whose string representation starts with "\[object " and ends with "Window\]".
290
289
 
291
- **`remarks`**
290
+ **`Remarks`**
292
291
 
293
292
  Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers.
294
293
 
@@ -304,7 +303,7 @@ ___
304
303
 
305
304
  The property that the string representation of Array.prototype.entries\(\) starts with "\[object Array" and ends with "\]" at index 21 or 22.
306
305
 
307
- **`remarks`**
306
+ **`Remarks`**
308
307
 
309
308
  Available in Chrome, Edge, Firefox, Safari 7.1+, Opera, and Node.js 0.12+.
310
309
 
@@ -320,7 +319,7 @@ ___
320
319
 
321
320
  Support for arrow functions.
322
321
 
323
- **`remarks`**
322
+ **`Remarks`**
324
323
 
325
324
  Available in Chrome, Edge, Firefox, Safari 10+, Opera, and Node.js 4+.
326
325
 
@@ -336,9 +335,9 @@ ___
336
335
 
337
336
  Existence of the native function Array.prototype.at.
338
337
 
339
- **`remarks`**
338
+ **`Remarks`**
340
339
 
341
- Available in Chrome, Edge, Firefox 90+, Opera, and Node.js 16.6+.
340
+ Available in Chrome, Edge, Firefox, Safari 15.4+, Opera, and Node.js 16.6+.
342
341
 
343
342
  #### Inherited from
344
343
 
@@ -352,7 +351,7 @@ ___
352
351
 
353
352
  Existence of the global functions atob and btoa.
354
353
 
355
- **`remarks`**
354
+ **`Remarks`**
356
355
 
357
356
  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.
358
357
 
@@ -380,7 +379,7 @@ ___
380
379
 
381
380
  Existence of the global object statusbar having the string representation "\[object BarProp\]".
382
381
 
383
- **`remarks`**
382
+ **`Remarks`**
384
383
 
385
384
  Available in Chrome, Edge, Firefox, Safari, Opera, and Android Browser 4.4. This feature is not available inside web workers.
386
385
 
@@ -410,7 +409,7 @@ ___
410
409
 
411
410
  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.
412
411
 
413
- **`remarks`**
412
+ **`Remarks`**
414
413
 
415
414
  Available in Internet Explorer.
416
415
 
@@ -440,11 +439,11 @@ ___
440
439
 
441
440
  Features available in Chrome 92, Edge 92 and Opera 78 or later.
442
441
 
443
- **`remarks`**
442
+ **`Remarks`**
444
443
 
445
444
  This feature may be replaced or removed in the near future when current browser versions become obsolete. Use `CHROME` or `CHROME_PREV` instead of `CHROME_92` for long term support.
446
445
 
447
- **`see`**
446
+ **`See`**
448
447
 
449
448
  [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
450
449
 
@@ -490,7 +489,7 @@ Existence of the global object console having the string representation "\[objec
490
489
 
491
490
  This feature may become unavailable when certain browser extensions are active.
492
491
 
493
- **`remarks`**
492
+ **`Remarks`**
494
493
 
495
494
  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.
496
495
 
@@ -518,7 +517,7 @@ ___
518
517
 
519
518
  Existence of the global object document having the string representation "\[object Document\]".
520
519
 
521
- **`remarks`**
520
+ **`Remarks`**
522
521
 
523
522
  Available in Internet Explorer before 11. This feature is not available inside web workers.
524
523
 
@@ -534,7 +533,7 @@ ___
534
533
 
535
534
  Existence of the global object self having the string representation "\[object DOMWindow\]".
536
535
 
537
- **`remarks`**
536
+ **`Remarks`**
538
537
 
539
538
  Available in Android Browser before 4.4. This feature is not available inside web workers.
540
539
 
@@ -558,7 +557,7 @@ ___
558
557
 
559
558
  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.
560
559
 
561
- **`remarks`**
560
+ **`Remarks`**
562
561
 
563
562
  Available in Android Browser and Node.js before 0.12.
564
563
 
@@ -574,7 +573,7 @@ ___
574
573
 
575
574
  The property that double quotation marks in the argument of String.prototype.fontcolor are escaped as "\&quot;".
576
575
 
577
- **`remarks`**
576
+ **`Remarks`**
578
577
 
579
578
  Available in Chrome, Edge, Firefox, Safari, Opera, Android Browser, and Node.js.
580
579
 
@@ -590,7 +589,7 @@ ___
590
589
 
591
590
  The property that only double quotation marks and no other characters in the argument of String.prototype.fontcolor are escaped into HTML entities.
592
591
 
593
- **`remarks`**
592
+ **`Remarks`**
594
593
 
595
594
  Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js 0.12+.
596
595
 
@@ -606,7 +605,7 @@ ___
606
605
 
607
606
  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.
608
607
 
609
- **`remarks`**
608
+ **`Remarks`**
610
609
 
611
610
  Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Node.js 12+.
612
611
 
@@ -622,7 +621,7 @@ ___
622
621
 
623
622
  Having regular expressions created with the RegExp constructor use escape sequences starting with a backslash to format slashes \("/"\) in their string representation.
624
623
 
625
- **`remarks`**
624
+ **`Remarks`**
626
625
 
627
626
  Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Node.js 4+.
628
627
 
@@ -646,57 +645,17 @@ An alias for `FF_90`.
646
645
 
647
646
  ___
648
647
 
649
- ### FF\_78
650
-
651
- • **FF\_78**: [`PredefinedFeature`](PredefinedFeature.md)
652
-
653
- Features available in Firefox 78 to 82.
654
-
655
- **`remarks`**
656
-
657
- This feature may be replaced or removed in the near future when current browser versions become obsolete. Use `FF_ESR` instead of `FF_78` for long term support.
658
-
659
- **`see`**
660
-
661
- [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
662
-
663
- #### Inherited from
664
-
665
- [FeatureAll](FeatureAll.md).[FF_78](FeatureAll.md#ff_78)
666
-
667
- ___
668
-
669
- ### FF\_83
670
-
671
- • **FF\_83**: [`PredefinedFeature`](PredefinedFeature.md)
672
-
673
- Features available in Firefox 83 to 89.
674
-
675
- **`remarks`**
676
-
677
- This feature may be replaced or removed in the near future when current browser versions become obsolete.
678
-
679
- **`see`**
680
-
681
- [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
682
-
683
- #### Inherited from
684
-
685
- [FeatureAll](FeatureAll.md).[FF_83](FeatureAll.md#ff_83)
686
-
687
- ___
688
-
689
648
  ### FF\_90
690
649
 
691
650
  • **FF\_90**: [`PredefinedFeature`](PredefinedFeature.md)
692
651
 
693
652
  Features available in Firefox 90 or later.
694
653
 
695
- **`remarks`**
654
+ **`Remarks`**
696
655
 
697
- This feature may be replaced or removed in the near future when current browser versions become obsolete. Use `FF` or `FF_PREV` instead of `FF_90` for long term support.
656
+ 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.
698
657
 
699
- **`see`**
658
+ **`See`**
700
659
 
701
660
  [Engine Support Policy](https://github.com/fasttime/JScrewIt#engine-support-policy)
702
661
 
@@ -712,7 +671,7 @@ ___
712
671
 
713
672
  Features available in the current version of Firefox ESR.
714
673
 
715
- An alias for `FF_78`.
674
+ An alias for `FF_90`.
716
675
 
717
676
  #### Inherited from
718
677
 
@@ -742,7 +701,7 @@ A string representation of native functions typical for Firefox and Safari.
742
701
 
743
702
  Remarkable traits are the lack of line feed characters at the beginning and at the end of the string and the presence of a line feed followed by four whitespaces \("\\n "\) before the "\[native code\]" sequence.
744
703
 
745
- **`remarks`**
704
+ **`Remarks`**
746
705
 
747
706
  Available in Firefox and Safari.
748
707
 
@@ -758,7 +717,7 @@ ___
758
717
 
759
718
  Existence of the native function Array.prototype.fill.
760
719
 
761
- **`remarks`**
720
+ **`Remarks`**
762
721
 
763
722
  Available in Chrome, Edge, Firefox, Safari 7.1+, Opera, and Node.js 4+.
764
723
 
@@ -774,7 +733,7 @@ ___
774
733
 
775
734
  Existence of the native function Array.prototype.flat.
776
735
 
777
- **`remarks`**
736
+ **`Remarks`**
778
737
 
779
738
  Available in Chrome, Edge, Firefox, Safari 12+, Opera, and Node.js 11+.
780
739
 
@@ -790,7 +749,7 @@ ___
790
749
 
791
750
  Existence of the function String.fromCodePoint.
792
751
 
793
- **`remarks`**
752
+ **`Remarks`**
794
753
 
795
754
  Available in Chrome, Edge, Firefox, Safari 9+, Opera, and Node.js 4+.
796
755
 
@@ -806,7 +765,7 @@ ___
806
765
 
807
766
  A string representation of dynamically generated functions where the character at index 19 is a line feed \("\\n"\).
808
767
 
809
- **`remarks`**
768
+ **`Remarks`**
810
769
 
811
770
  Available in Chrome, Edge, Firefox, Opera, and Node.js 10+.
812
771
 
@@ -822,7 +781,7 @@ ___
822
781
 
823
782
  A string representation of dynamically generated functions where the character at index 22 is a line feed \("\\n"\).
824
783
 
825
- **`remarks`**
784
+ **`Remarks`**
826
785
 
827
786
  Available in Internet Explorer, Safari 9+, Android Browser, and Node.js before 10.
828
787
 
@@ -838,7 +797,7 @@ ___
838
797
 
839
798
  Ability to call Array.prototype.toString with a non-array binding.
840
799
 
841
- **`remarks`**
800
+ **`Remarks`**
842
801
 
843
802
  Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, Android Browser 4.1+, and Node.js.
844
803
 
@@ -854,7 +813,7 @@ ___
854
813
 
855
814
  Having the global function toString return the string "\[object Undefined\]" when invoked without a binding.
856
815
 
857
- **`remarks`**
816
+ **`Remarks`**
858
817
 
859
818
  Available in Chrome, Edge, Firefox, Safari, Opera, and Node.js.
860
819
 
@@ -872,7 +831,7 @@ Presence of the text "GMT" after the first 25 characters in the string returned
872
831
 
873
832
  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.
874
833
 
875
- **`remarks`**
834
+ **`Remarks`**
876
835
 
877
836
  Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari, Opera, Android Browser, and Node.js.
878
837
 
@@ -888,7 +847,7 @@ ___
888
847
 
889
848
  Existence of the global object history having the string representation "\[object History\]".
890
849
 
891
- **`remarks`**
850
+ **`Remarks`**
892
851
 
893
852
  Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers.
894
853
 
@@ -904,7 +863,7 @@ ___
904
863
 
905
864
  Existence of the global object Audio whose string representation starts with "function HTMLAudioElement".
906
865
 
907
- **`remarks`**
866
+ **`Remarks`**
908
867
 
909
868
  Available in Android Browser 4.4. This feature is not available inside web workers.
910
869
 
@@ -920,7 +879,7 @@ ___
920
879
 
921
880
  Existence of the global object document having the string representation "\[object HTMLDocument\]".
922
881
 
923
- **`remarks`**
882
+ **`Remarks`**
924
883
 
925
884
  Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari, Opera, and Android Browser. This feature is not available inside web workers.
926
885
 
@@ -986,7 +945,7 @@ A string representation of native functions typical for Internet Explorer.
986
945
 
987
946
  Remarkable traits are the presence of a line feed character \("\\n"\) at the beginning and at the end of the string and a line feed followed by four whitespaces \("\\n "\) before the "\[native code\]" sequence.
988
947
 
989
- **`remarks`**
948
+ **`Remarks`**
990
949
 
991
950
  Available in Internet Explorer.
992
951
 
@@ -1002,7 +961,7 @@ ___
1002
961
 
1003
962
  The ability to use unary increment operators with string characters, like in \( ++"some string"\[0\] \): this will result in a TypeError in strict mode in ECMAScript compliant engines.
1004
963
 
1005
- **`remarks`**
964
+ **`Remarks`**
1006
965
 
1007
966
  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+.
1008
967
 
@@ -1018,7 +977,7 @@ ___
1018
977
 
1019
978
  Existence of the global object Intl.
1020
979
 
1021
- **`remarks`**
980
+ **`Remarks`**
1022
981
 
1023
982
  Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari 10+, Opera, Android Browser 4.4, and Node.js 0.12+.
1024
983
 
@@ -1034,7 +993,7 @@ ___
1034
993
 
1035
994
  Language sensitive string representation of Infinity as "∞".
1036
995
 
1037
- **`remarks`**
996
+ **`Remarks`**
1038
997
 
1039
998
  Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari 10+, Opera, Android Browser 4.4, and Node.js 0.12+.
1040
999
 
@@ -1050,7 +1009,7 @@ ___
1050
1009
 
1051
1010
  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 "٬".
1052
1011
 
1053
- **`remarks`**
1012
+ **`Remarks`**
1054
1013
 
1055
1014
  Available in Chrome, Edge, Firefox, Internet Explorer 11, Safari 10+, Opera, Android Browser 4.4, and Node.js 13+.
1056
1015
 
@@ -1068,7 +1027,7 @@ Extended localized number formatting.
1068
1027
 
1069
1028
  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 \("رقم"\), Bengali digits, the letters in the Russian string representation of NaN \("не число"\) and the letters in the Persian string representation of NaN \("ناعدد"\).
1070
1029
 
1071
- **`remarks`**
1030
+ **`Remarks`**
1072
1031
 
1073
1032
  Available in Chrome, Edge, Firefox, Internet Explorer 11 on Windows 10, Safari 10+, Opera, Android Browser 4.4, and Node.js 13+.
1074
1033
 
@@ -1084,7 +1043,7 @@ ___
1084
1043
 
1085
1044
  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\]".
1086
1045
 
1087
- **`remarks`**
1046
+ **`Remarks`**
1088
1047
 
1089
1048
  Available in Chrome, Edge, Firefox, Safari, Opera, and Android Browser.
1090
1049
 
@@ -1100,7 +1059,7 @@ ___
1100
1059
 
1101
1060
  Existence of the name property for functions.
1102
1061
 
1103
- **`remarks`**
1062
+ **`Remarks`**
1104
1063
 
1105
1064
  Available in Chrome, Edge, Firefox, Safari, Opera, Android Browser, and Node.js.
1106
1065
 
@@ -1116,7 +1075,7 @@ ___
1116
1075
 
1117
1076
  Existence of the global object Node having the string representation "\[object NodeConstructor\]".
1118
1077
 
1119
- **`remarks`**
1078
+ **`Remarks`**
1120
1079
 
1121
1080
  Available in Safari before 10. This feature is not available inside web workers.
1122
1081
 
@@ -1264,7 +1223,7 @@ ___
1264
1223
 
1265
1224
  A string representation of native functions typical for V8 or for Internet Explorer but not for Firefox and Safari.
1266
1225
 
1267
- **`remarks`**
1226
+ **`Remarks`**
1268
1227
 
1269
1228
  Available in Chrome, Edge, Internet Explorer, Opera, Android Browser, and Node.js.
1270
1229
 
@@ -1282,7 +1241,7 @@ A string representation of native functions typical for most engines with the no
1282
1241
 
1283
1242
  A remarkable trait of this feature is the lack of line feed characters at the beginning and at the end of the string.
1284
1243
 
1285
- **`remarks`**
1244
+ **`Remarks`**
1286
1245
 
1287
1246
  Available in Chrome, Edge, Firefox, Safari, Opera, Android Browser, and Node.js.
1288
1247
 
@@ -1298,7 +1257,7 @@ ___
1298
1257
 
1299
1258
  The property that the string representation of Array.prototype.entries\(\) evaluates to "\[object Array Iterator\]" and that Array.prototype.entries\(\).constructor is the global function Object.
1300
1259
 
1301
- **`remarks`**
1260
+ **`Remarks`**
1302
1261
 
1303
1262
  Available in Chrome, Edge, Firefox, Safari 9+, Opera, and Node.js 0.12+.
1304
1263
 
@@ -1316,7 +1275,7 @@ A string representation of native functions typical for Firefox, Internet Explor
1316
1275
 
1317
1276
  A most remarkable trait of this feature is the presence of a line feed followed by four whitespaces \("\\n "\) before the "\[native code\]" sequence.
1318
1277
 
1319
- **`remarks`**
1278
+ **`Remarks`**
1320
1279
 
1321
1280
  Available in Firefox, Internet Explorer, and Safari.
1322
1281
 
@@ -1332,7 +1291,7 @@ ___
1332
1291
 
1333
1292
  Existence of the global function location.constructor whose string representation starts with "\[object L"
1334
1293
 
1335
- **`remarks`**
1294
+ **`Remarks`**
1336
1295
 
1337
1296
  Available in Internet Explorer and Safari before 10. This feature is not available inside web workers.
1338
1297
 
@@ -1348,7 +1307,7 @@ ___
1348
1307
 
1349
1308
  Having the function Object.prototype.toString return the string "\[object Undefined\]" when invoked without a binding.
1350
1309
 
1351
- **`remarks`**
1310
+ **`Remarks`**
1352
1311
 
1353
1312
  Available in Chrome, Edge, Firefox, Internet Explorer 10+, Safari, Opera, Android Browser 4.1+, and Node.js.
1354
1313
 
@@ -1364,7 +1323,7 @@ ___
1364
1323
 
1365
1324
  The property that the string representation of the global object constructor starts with "\[object W"
1366
1325
 
1367
- **`remarks`**
1326
+ **`Remarks`**
1368
1327
 
1369
1328
  Available in Internet Explorer and Safari before 10. This feature is not available inside web workers in Safari before 10.
1370
1329
 
@@ -1380,7 +1339,7 @@ ___
1380
1339
 
1381
1340
  Existence of the global object location.constructor whose string representation starts with "\[object " and ends with "LocationConstructor\]"
1382
1341
 
1383
- **`remarks`**
1342
+ **`Remarks`**
1384
1343
 
1385
1344
  Available in Safari before 10.
1386
1345
 
@@ -1396,9 +1355,9 @@ ___
1396
1355
 
1397
1356
  Existence of the global object Intl having the string representation "\[object Object\]"
1398
1357
 
1399
- **`remarks`**
1358
+ **`Remarks`**
1400
1359
 
1401
- Available in Firefox before 83, Internet Explorer 11, Safari 10+ before 14.0.1, Android Browser 4.4, and Node.js 0.12+ before 15.
1360
+ Available in Internet Explorer 11, Safari 10+ before 14.0.1, Android Browser 4.4, and Node.js 0.12+ before 15.
1402
1361
 
1403
1362
  #### Inherited from
1404
1363
 
@@ -1412,7 +1371,7 @@ ___
1412
1371
 
1413
1372
  The property that the string representation of String.prototype.matchAll\(\) evaluates to "\[object RegExp String Iterator\]".
1414
1373
 
1415
- **`remarks`**
1374
+ **`Remarks`**
1416
1375
 
1417
1376
  Available in Chrome, Edge, Firefox, Safari 13+, Opera, and Node.js 12+.
1418
1377
 
@@ -1428,7 +1387,7 @@ ___
1428
1387
 
1429
1388
  Features available in the current stable version of Safari.
1430
1389
 
1431
- An alias for `SAFARI_14_1`.
1390
+ An alias for `SAFARI_15_4`.
1432
1391
 
1433
1392
  #### Inherited from
1434
1393
 
@@ -1488,7 +1447,7 @@ ___
1488
1447
 
1489
1448
  • **SAFARI\_14\_1**: [`PredefinedFeature`](PredefinedFeature.md)
1490
1449
 
1491
- Features available in Safari 14.1 or later.
1450
+ Features available in Safari 14.1 to 15.3.
1492
1451
 
1493
1452
  #### Inherited from
1494
1453
 
@@ -1496,6 +1455,18 @@ Features available in Safari 14.1 or later.
1496
1455
 
1497
1456
  ___
1498
1457
 
1458
+ ### SAFARI\_15\_4
1459
+
1460
+ • **SAFARI\_15\_4**: [`PredefinedFeature`](PredefinedFeature.md)
1461
+
1462
+ Features available in Safari 15.4 or later.
1463
+
1464
+ #### Inherited from
1465
+
1466
+ [FeatureAll](FeatureAll.md).[SAFARI_15_4](FeatureAll.md#safari_15_4)
1467
+
1468
+ ___
1469
+
1499
1470
  ### SAFARI\_7\_0
1500
1471
 
1501
1472
  • **SAFARI\_7\_0**: [`PredefinedFeature`](PredefinedFeature.md)
@@ -1550,7 +1521,7 @@ ___
1550
1521
 
1551
1522
  Existence of the global object self whose string representation starts with "\[object ".
1552
1523
 
1553
- **`remarks`**
1524
+ **`Remarks`**
1554
1525
 
1555
1526
  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.
1556
1527
 
@@ -1566,7 +1537,7 @@ ___
1566
1537
 
1567
1538
  Support for the two-letter locale name "ar" to format decimal numbers as Arabic numerals.
1568
1539
 
1569
- **`remarks`**
1540
+ **`Remarks`**
1570
1541
 
1571
1542
  Available in Firefox, Internet Explorer 11, Safari 10+, Android Browser 4.4, and Node.js 13+.
1572
1543
 
@@ -1582,7 +1553,7 @@ ___
1582
1553
 
1583
1554
  Existence of the global string status.
1584
1555
 
1585
- **`remarks`**
1556
+ **`Remarks`**
1586
1557
 
1587
1558
  Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser. This feature is not available inside web workers.
1588
1559
 
@@ -1600,7 +1571,7 @@ The property that Object.prototype.toString.call\(\) evaluates to "\[object Unde
1600
1571
 
1601
1572
  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.
1602
1573
 
1603
- **`remarks`**
1574
+ **`Remarks`**
1604
1575
 
1605
1576
  Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, Android Browser 4.1+, and Node.js.
1606
1577
 
@@ -1618,7 +1589,7 @@ A string representation of native functions typical for the V8 engine.
1618
1589
 
1619
1590
  Remarkable traits are the lack of line feed characters at the beginning and at the end of the string and the presence of a single whitespace before the "\[native code\]" sequence.
1620
1591
 
1621
- **`remarks`**
1592
+ **`Remarks`**
1622
1593
 
1623
1594
  Available in Chrome, Edge, Opera, Android Browser, and Node.js.
1624
1595
 
@@ -1634,7 +1605,7 @@ ___
1634
1605
 
1635
1606
  Existence of the global object self having the string representation "\[object Window\]".
1636
1607
 
1637
- **`remarks`**
1608
+ **`Remarks`**
1638
1609
 
1639
1610
  Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Android Browser 4.4. This feature is not available inside web workers.
1640
1611
 
@@ -1646,11 +1617,11 @@ Available in Chrome, Edge, Firefox, Internet Explorer, Safari, Opera, and Androi
1646
1617
 
1647
1618
  ### areCompatible
1648
1619
 
1649
- ▸ **areCompatible**(...`features`): `boolean`
1620
+ ▸ **areCompatible**(`...features`): `boolean`
1650
1621
 
1651
1622
  Determines whether the specified features are mutually compatible.
1652
1623
 
1653
- **`example`**
1624
+ **`Example`**
1654
1625
 
1655
1626
  ```js
1656
1627
  // false: only one of "V8_SRC" or "IE_SRC" may be available.
@@ -1679,14 +1650,14 @@ ___
1679
1650
 
1680
1651
  ### areEqual
1681
1652
 
1682
- ▸ **areEqual**(...`features`): `boolean`
1653
+ ▸ **areEqual**(`...features`): `boolean`
1683
1654
 
1684
1655
  Determines whether all of the specified features are equivalent.
1685
1656
 
1686
1657
  Different features are considered equivalent if they include the same set of elementary
1687
1658
  features, regardless of any other difference.
1688
1659
 
1689
- **`example`**
1660
+ **`Example`**
1690
1661
 
1691
1662
  ```js
1692
1663
  // false
@@ -1715,21 +1686,20 @@ ___
1715
1686
 
1716
1687
  ### commonOf
1717
1688
 
1718
- ▸ **commonOf**(...`features`): ``null`` \| [`CustomFeature`](CustomFeature.md)
1689
+ ▸ **commonOf**(`...features`): ``null`` \| [`CustomFeature`](CustomFeature.md)
1719
1690
 
1720
1691
  Creates a new feature object equivalent to the intersection of the specified features.
1721
1692
 
1722
- **`example`**
1693
+ **`Example`**
1723
1694
 
1724
- This will create a new feature object equivalent to <code>[NAME](FeatureConstructor.md#name)</code>.
1695
+ This will create a new feature object equivalent to [`NAME`](FeatureConstructor.md#name).
1725
1696
 
1726
1697
  ```js
1727
1698
  const newFeature = JScrewIt.Feature.commonOf(["ATOB", "NAME"], ["NAME", "SELF"]);
1728
1699
  ```
1729
1700
 
1730
- This will create a new feature object equivalent to <code>[ANY_DOCUMENT](FeatureConstructor.md#any_document)</code>.
1731
- This is because both <code>[HTMLDOCUMENT](FeatureConstructor.md#htmldocument)</code> and <code>[DOCUMENT](FeatureConstructor.md#document)</code> imply
1732
- <code>[ANY_DOCUMENT](FeatureConstructor.md#any_document)</code>.
1701
+ This will create a new feature object equivalent to [`ANY_DOCUMENT`](FeatureConstructor.md#any_document).
1702
+ This is because both [`HTMLDOCUMENT`](FeatureConstructor.md#htmldocument) and [`DOCUMENT`](FeatureConstructor.md#document) imply [`ANY_DOCUMENT`](FeatureConstructor.md#any_document).
1733
1703
 
1734
1704
  ```js
1735
1705
  const newFeature = JScrewIt.Feature.commonOf("HTMLDOCUMENT", "DOCUMENT");
@@ -1755,11 +1725,11 @@ ___
1755
1725
 
1756
1726
  Returns a short description of a predefined feature in plain English.
1757
1727
 
1758
- **`remarks`**
1728
+ **`Remarks`**
1759
1729
 
1760
1730
  Different names or aliases of the same feature may have different descriptions.
1761
1731
 
1762
- **`throws`**
1732
+ **`Throws`**
1763
1733
 
1764
1734
  An error is thrown if the specified argument is not a name or alias of a predefined feature.
1765
1735