google-closure-compiler 20250412.0.0-nightly → 20250413.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.
Files changed (131) hide show
  1. package/README.md +5 -30
  2. package/cli.js +3 -4
  3. package/externs/browser/decorators.js +276 -0
  4. package/externs/browser/deprecated.js +58 -0
  5. package/externs/browser/es6_proxy.js +143 -0
  6. package/externs/browser/fetchapi.js +449 -0
  7. package/externs/browser/fido.js +94 -0
  8. package/externs/browser/flash.js +226 -0
  9. package/externs/browser/gecko_css.js +126 -0
  10. package/externs/browser/gecko_dom.js +479 -0
  11. package/externs/browser/gecko_event.js +86 -0
  12. package/externs/browser/gecko_xml.js +73 -0
  13. package/externs/browser/google_legacy.js +31 -0
  14. package/externs/browser/html5.js +6647 -0
  15. package/externs/browser/ie_css.js +270 -0
  16. package/externs/browser/ie_dom.js +1232 -0
  17. package/externs/browser/ie_event.js +310 -0
  18. package/externs/browser/ie_vml.js +77 -0
  19. package/externs/browser/intersection_observer.js +178 -0
  20. package/externs/browser/intl.js +602 -0
  21. package/externs/browser/iphone.js +204 -0
  22. package/externs/browser/mediakeys.js +305 -0
  23. package/externs/browser/mediasource.js +155 -0
  24. package/externs/browser/nonstandard_anim_timing.js +97 -0
  25. package/externs/browser/nonstandard_audio.js +82 -0
  26. package/externs/browser/nonstandard_console.js +75 -0
  27. package/externs/browser/nonstandard_fileapi.js +1066 -0
  28. package/externs/browser/nonstandard_indexeddb.js +78 -0
  29. package/externs/browser/nonstandard_navigation_timing.js +38 -0
  30. package/externs/browser/nonstandard_selection.js +80 -0
  31. package/externs/browser/page_visibility.js +28 -0
  32. package/externs/browser/streamsapi.js +593 -0
  33. package/externs/browser/svg.js +10016 -0
  34. package/externs/browser/url.js +202 -0
  35. package/externs/browser/v8.js +134 -0
  36. package/externs/browser/w3c_abort.js +89 -0
  37. package/externs/browser/w3c_anim_timing.js +49 -0
  38. package/externs/browser/w3c_aria_mixin.js +286 -0
  39. package/externs/browser/w3c_audio.js +1660 -0
  40. package/externs/browser/w3c_batterystatus.js +85 -0
  41. package/externs/browser/w3c_clipboard.js +74 -0
  42. package/externs/browser/w3c_clipboardevent.js +47 -0
  43. package/externs/browser/w3c_composition_event.js +93 -0
  44. package/externs/browser/w3c_css.js +3790 -0
  45. package/externs/browser/w3c_css3d.js +199 -0
  46. package/externs/browser/w3c_device_sensor_event.js +122 -0
  47. package/externs/browser/w3c_dom1.js +1160 -0
  48. package/externs/browser/w3c_dom2.js +3151 -0
  49. package/externs/browser/w3c_dom3.js +555 -0
  50. package/externs/browser/w3c_dom4.js +289 -0
  51. package/externs/browser/w3c_elementtraversal.js +116 -0
  52. package/externs/browser/w3c_event.js +607 -0
  53. package/externs/browser/w3c_event3.js +77 -0
  54. package/externs/browser/w3c_eventsource.js +110 -0
  55. package/externs/browser/w3c_fileapi.js +302 -0
  56. package/externs/browser/w3c_gamepad.js +113 -0
  57. package/externs/browser/w3c_geolocation.js +130 -0
  58. package/externs/browser/w3c_geometry1.js +899 -0
  59. package/externs/browser/w3c_indexeddb.js +771 -0
  60. package/externs/browser/w3c_keyboardlock.js +47 -0
  61. package/externs/browser/w3c_mediacapabilities.js +206 -0
  62. package/externs/browser/w3c_midi.js +301 -0
  63. package/externs/browser/w3c_navigation.js +72 -0
  64. package/externs/browser/w3c_navigation_timing.js +437 -0
  65. package/externs/browser/w3c_netinfo.js +85 -0
  66. package/externs/browser/w3c_payment_request.js +401 -0
  67. package/externs/browser/w3c_permissions.js +112 -0
  68. package/externs/browser/w3c_permissions_policy.js +78 -0
  69. package/externs/browser/w3c_pointer_events.js +163 -0
  70. package/externs/browser/w3c_pointerlock.js +63 -0
  71. package/externs/browser/w3c_range.js +284 -0
  72. package/externs/browser/w3c_referrer_policy.js +36 -0
  73. package/externs/browser/w3c_requestidlecallback.js +76 -0
  74. package/externs/browser/w3c_rtc.js +3882 -0
  75. package/externs/browser/w3c_screen_orientation.js +53 -0
  76. package/externs/browser/w3c_screen_wake_lock.js +58 -0
  77. package/externs/browser/w3c_selection.js +209 -0
  78. package/externs/browser/w3c_selectors.js +113 -0
  79. package/externs/browser/w3c_serviceworker.js +739 -0
  80. package/externs/browser/w3c_speech.js +426 -0
  81. package/externs/browser/w3c_touch_event.js +296 -0
  82. package/externs/browser/w3c_trusted_types.js +142 -0
  83. package/externs/browser/w3c_vibration.js +38 -0
  84. package/externs/browser/w3c_webcodecs.js +1473 -0
  85. package/externs/browser/w3c_webcrypto.js +839 -0
  86. package/externs/browser/w3c_worklets.js +54 -0
  87. package/externs/browser/w3c_xml.js +533 -0
  88. package/externs/browser/web_animations.js +452 -0
  89. package/externs/browser/web_app_manifest.js +50 -0
  90. package/externs/browser/webassembly.js +223 -0
  91. package/externs/browser/webgl.js +3409 -0
  92. package/externs/browser/webgl2.js +2727 -0
  93. package/externs/browser/webgl2_compute.js +1609 -0
  94. package/externs/browser/webkit_css.js +456 -0
  95. package/externs/browser/webkit_dom.js +118 -0
  96. package/externs/browser/webkit_event.js +46 -0
  97. package/externs/browser/webkit_notifications.js +258 -0
  98. package/externs/browser/webkit_usercontent.js +55 -0
  99. package/externs/browser/weblocksapi.js +125 -0
  100. package/externs/browser/webstorage.js +171 -0
  101. package/externs/browser/whatwg_bitmap_context.js +37 -0
  102. package/externs/browser/whatwg_console.js +152 -0
  103. package/externs/browser/whatwg_encoding.js +99 -0
  104. package/externs/browser/whatwg_file_system.js +296 -0
  105. package/externs/browser/wicg_attribution_reporting.js +42 -0
  106. package/externs/browser/wicg_compression_stream.js +60 -0
  107. package/externs/browser/wicg_constructable_stylesheets.js +60 -0
  108. package/externs/browser/wicg_entries.js +169 -0
  109. package/externs/browser/wicg_file_handling.js +41 -0
  110. package/externs/browser/wicg_file_system_access.js +191 -0
  111. package/externs/browser/wicg_floc.js +41 -0
  112. package/externs/browser/wicg_ink.js +89 -0
  113. package/externs/browser/wicg_resizeobserver.js +100 -0
  114. package/externs/browser/wicg_scheduler.js +62 -0
  115. package/externs/browser/wicg_trust_token.js +89 -0
  116. package/externs/browser/wicg_uach.js +100 -0
  117. package/externs/browser/window.js +190 -0
  118. package/externs/es3.js +2716 -0
  119. package/externs/es5.js +284 -0
  120. package/externs/es6.js +2554 -0
  121. package/externs/es6_collections.js +323 -0
  122. package/index.js +13 -16
  123. package/lib/grunt/index.js +71 -92
  124. package/lib/grunt/vinyl-stream.js +12 -18
  125. package/lib/gulp/concat-to-json.js +30 -18
  126. package/lib/gulp/index.js +174 -181
  127. package/lib/gulp/json-to-vinyl.js +8 -8
  128. package/lib/node/{closure-compiler.js → index.js} +27 -51
  129. package/lib/utils.js +16 -14
  130. package/package.json +19 -16
  131. package/lib/logger.js +0 -89
@@ -0,0 +1,602 @@
1
+ /*
2
+ * Copyright 2013 The Closure Compiler Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ /**
18
+ * @fileoverview Definitions for the JS Internationalization API as defined in
19
+ * http://www.ecma-international.org/ecma-402/1.0/
20
+ *
21
+ * @externs
22
+ */
23
+
24
+ /** @const */
25
+ var Intl = {};
26
+
27
+ /**
28
+ * @record
29
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/Segmenter#parameters
30
+ */
31
+ Intl.SegmenterOptions = function() {};
32
+
33
+ /**
34
+ * @type {string|undefined}
35
+ */
36
+ Intl.SegmenterOptions.prototype.localeMatcher;
37
+
38
+ /**
39
+ * @type {string|undefined}
40
+ */
41
+ Intl.SegmenterOptions.prototype.granularity;
42
+
43
+ /**
44
+ * @record
45
+ */
46
+ Intl.ResolvedSegmenterOptions = function() {};
47
+
48
+ /**
49
+ * @type {string}
50
+ */
51
+ Intl.ResolvedSegmenterOptions.prototype.locale;
52
+
53
+ /**
54
+ * @type {string}
55
+ */
56
+ Intl.ResolvedSegmenterOptions.prototype.granularity;
57
+
58
+ /**
59
+ * @record
60
+ * @template T
61
+ */
62
+ Intl.SegmentIterator = function() {};
63
+
64
+ /**
65
+ * @return {!Intl.SegmentIterator<T>}
66
+ */
67
+ Intl.SegmentIterator.prototype[Symbol.iterator] = function() {};
68
+
69
+ /**
70
+ * @record
71
+ */
72
+ Intl.Segments = function() {};
73
+
74
+ /**
75
+ * @param {number=} codeUnitIndex
76
+ * @return {!Intl.SegmentData}
77
+ */
78
+ Intl.Segments.prototype.containing = function(codeUnitIndex) {};
79
+
80
+ /**
81
+ * @return {!Intl.SegmentIterator<!Intl.SegmentData>}
82
+ */
83
+ Intl.Segments.prototype[Symbol.iterator] = function() {};
84
+
85
+ /**
86
+ * @record
87
+ */
88
+ Intl.SegmentData = function() {};
89
+
90
+ /**
91
+ * @type {string}
92
+ */
93
+ Intl.SegmentData.prototype.segment;
94
+
95
+ /**
96
+ * @type {number}
97
+ */
98
+ Intl.SegmentData.prototype.index;
99
+
100
+ /**
101
+ * @type {string}
102
+ */
103
+ Intl.SegmentData.prototype.input;
104
+
105
+ /**
106
+ * @type {boolean|undefined}
107
+ */
108
+ Intl.SegmentData.prototype.isWordLike;
109
+
110
+ /**
111
+ * @constructor
112
+ * @param {string|!Array<string>=} locales
113
+ * @param {!Intl.SegmenterOptions=} options
114
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter.
115
+ */
116
+ Intl.Segmenter = function(locales, options) {};
117
+
118
+ /**
119
+ * @param {string} input
120
+ * @return {!Intl.Segments}
121
+ */
122
+ Intl.Segmenter.prototype.segment = function(input) {};
123
+
124
+ /**
125
+ * @return {!Intl.ResolvedSegmenterOptions}
126
+ */
127
+ Intl.Segmenter.prototype.resolvedOptions = function() {};
128
+
129
+ /**
130
+ * @param {string|!Array<string>} locales
131
+ * @param {!Intl.SegmenterOptions=} options
132
+ * @return {Array<string>}
133
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/supportedLocalesOf
134
+ */
135
+ Intl.Segmenter.supportedLocalesOf = function(locales, options) {};
136
+
137
+ /**
138
+ * @param {string} key
139
+ * @return {Array<string>}
140
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/supportedValuesOf
141
+ */
142
+ Intl.supportedValuesOf = function(key) {};
143
+
144
+ /**
145
+ * NOTE: this API is not from ecma402 and is subject to change.
146
+ * @param {string|Array<string>=} locales
147
+ * @param {{type: (string|undefined)}=}
148
+ * options
149
+ * @constructor
150
+ */
151
+ Intl.v8BreakIterator = function(locales, options) {};
152
+
153
+ /**
154
+ * @param {string} text
155
+ * @return {undefined}
156
+ */
157
+ Intl.v8BreakIterator.prototype.adoptText = function(text) {};
158
+
159
+ /**
160
+ * @return {string}
161
+ */
162
+ Intl.v8BreakIterator.prototype.breakType = function() {};
163
+
164
+ /**
165
+ * @return {number}
166
+ */
167
+ Intl.v8BreakIterator.prototype.current = function() {};
168
+
169
+ /**
170
+ * @return {number}
171
+ */
172
+ Intl.v8BreakIterator.prototype.first = function() {};
173
+
174
+ /**
175
+ * @return {number}
176
+ */
177
+ Intl.v8BreakIterator.prototype.next = function() {};
178
+
179
+ /**
180
+ * @constructor
181
+ * @param {string|Array<string>=} locales
182
+ * @param {{usage: (string|undefined), localeMatcher: (string|undefined),
183
+ * sensitivity: (string|undefined), ignorePunctuation: (boolean|undefined),
184
+ * numeric: (boolean|undefined), caseFirst: (string|undefined)}=}
185
+ * options
186
+ */
187
+ Intl.Collator = function(locales, options) {};
188
+
189
+ /**
190
+ * @param {Array<string>} locales
191
+ * @param {{localeMatcher: (string|undefined)}=} options
192
+ * @return {Array<string>}
193
+ */
194
+ Intl.Collator.supportedLocalesOf = function(locales, options) {};
195
+
196
+ /**
197
+ * @param {string} arg1
198
+ * @param {string} arg2
199
+ * @return {number}
200
+ */
201
+ Intl.Collator.prototype.compare = function(arg1, arg2) {};
202
+
203
+ /**
204
+ * @return {{locale: string, usage: string, sensitivity: string,
205
+ * ignorePunctuation: boolean, collation: string, numeric: boolean,
206
+ * caseFirst: string}}
207
+ */
208
+ Intl.Collator.prototype.resolvedOptions = function() {};
209
+
210
+ /**
211
+ * @constructor
212
+ * @param {string|Array<string>=} locales
213
+ * @param {{
214
+ * notation: (string|undefined),
215
+ * localeMatcher: (string|undefined), useGrouping: (boolean|undefined),
216
+ * numberingSystem: (string|undefined), style: (string|undefined),
217
+ * currency: (string|undefined), currencyDisplay: (string|undefined),
218
+ * minimumIntegerDigits: (number|undefined),
219
+ * minimumFractionDigits: (number|undefined),
220
+ * maximumFractionDigits: (number|undefined),
221
+ * minimumSignificantDigits: (number|undefined),
222
+ * maximumSignificantDigits: (number|undefined),
223
+ * compactDisplay: (string|undefined), currencySign: (string|undefined),
224
+ * signDisplay: (string|undefined), unit: (string|undefined),
225
+ * unitDisplay: (string|undefined), roundingIncrement: (number|undefined),
226
+ * roundingMode: (string|undefined), roundingPriority: (string|undefined),
227
+ * trailingZeroDisplay: (string|undefined)
228
+ * }=}
229
+ * options
230
+ */
231
+ Intl.NumberFormat = function(locales, options) {};
232
+
233
+ /**
234
+ * @param {Array<string>} locales
235
+ * @param {{localeMatcher: (string|undefined)}=} options
236
+ * @return {Array<string>}
237
+ */
238
+ Intl.NumberFormat.supportedLocalesOf = function(locales, options) {};
239
+
240
+ /**
241
+ * @param {number} num
242
+ * @return {string}
243
+ */
244
+ Intl.NumberFormat.prototype.format = function(num) {};
245
+
246
+ /**
247
+ * @param {number} num
248
+ * @return {!Array<{type: string, value: string}>}
249
+ * @see http://www.ecma-international.org/ecma-402/#sec-intl.numberformat.prototype.formattoparts
250
+ */
251
+ Intl.NumberFormat.prototype.formatToParts = function(num) {};
252
+
253
+ /**
254
+ * @return {{locale: string, numberingSystem: string, style: string,
255
+ * currency: (string|undefined), currencyDisplay: (string|undefined),
256
+ * minimumIntegerDigits: number, minimumFractionDigits: number,
257
+ * maximumFractionDigits: number, minimumSignificantDigits: number,
258
+ * maximumSignificantDigits: number, useGrouping: boolean,
259
+ * compactDisplay: (string|undefined), currencySign: (string|undefined),
260
+ * signDisplay: (string|undefined), unit: (string|undefined),
261
+ * unitDisplay: (string|undefined), roundingIncrement: number,
262
+ * roundingMode: string, roundingPriority: string,
263
+ * trailingZeroDisplay: string
264
+ * }}
265
+ */
266
+ Intl.NumberFormat.prototype.resolvedOptions = function() {};
267
+
268
+ /**
269
+ * @constructor
270
+ * @param {string|Array<string>=} locales
271
+ * @param {{localeMatcher: (string|undefined),
272
+ * formatMatcher: (string|undefined), calendar: (string|undefined),
273
+ * numberingSystem: (string|undefined), tz: (string|undefined),
274
+ * weekday: (string|undefined), era: (string|undefined),
275
+ * year: (string|undefined), month: (string|undefined),
276
+ * day: (string|undefined), hour: (string|undefined),
277
+ * minute: (string|undefined), second: (string|undefined),
278
+ * timeZoneName: (string|undefined), hour12: (boolean|undefined),
279
+ * dateStyle: (string|undefined), timeStyle: (string|undefined),
280
+ * timeZone: (string|undefined), dayPeriod: (string|undefined),
281
+ * hourCycle: (string|undefined),
282
+ * fractionalSecondDigits: (number|undefined)}=}
283
+ * options
284
+ */
285
+ Intl.DateTimeFormat = function(locales, options) {};
286
+
287
+ /**
288
+ * @param {Array<string>} locales
289
+ * @param {{localeMatcher: string}=} options
290
+ * @return {Array<string>}
291
+ */
292
+ Intl.DateTimeFormat.supportedLocalesOf = function(locales, options) {};
293
+
294
+ /**
295
+ * @param {(!Date|number)=} date
296
+ * @return {string}
297
+ */
298
+ Intl.DateTimeFormat.prototype.format = function(date) {};
299
+
300
+ /**
301
+ * @param {(!Date|number)=} date
302
+ * @return {Array<{type: string, value: string}>}
303
+ */
304
+ Intl.DateTimeFormat.prototype.formatToParts = function(date) {};
305
+
306
+ /**
307
+ * @param {(!Date|number)=} date1
308
+ * @param {(!Date|number)=} date2
309
+ * @return {string}
310
+ */
311
+ Intl.DateTimeFormat.prototype.formatRange = function(date1, date2) {};
312
+
313
+ /**
314
+ * @param {(!Date|number)=} date1
315
+ * @param {(!Date|number)=} date2
316
+ * @return {!Array<{type: string, value: string}>}
317
+ */
318
+ Intl.DateTimeFormat.prototype.formatRangeToParts = function(date1, date2) {};
319
+
320
+ /**
321
+ * @return {{locale: string, calendar: string, numberingSystem: string,
322
+ * timeZone: (string|undefined), weekday: (string|undefined),
323
+ * era: (string|undefined), year: (string|undefined),
324
+ * month: (string|undefined), day: (string|undefined),
325
+ * hour: (string|undefined), minute: (string|undefined),
326
+ * second: (string|undefined), timeZoneName: (string|undefined),
327
+ * hour12: (boolean|undefined),
328
+ * dateStyle: (string|undefined), timeStyle: (string|undefined),
329
+ * dayPeriod: (string|undefined), hourCycle: (string|undefined),
330
+ * fractionalSecondDigits: (number|undefined)}}
331
+ */
332
+ Intl.DateTimeFormat.prototype.resolvedOptions = function() {};
333
+
334
+ /**
335
+ * @constructor
336
+ * @param {string|!Array<string>=} locales
337
+ * @param {{localeMatcher: (string|undefined),
338
+ * style: (string|undefined), type: string,
339
+ * languageDisplay: (string|undefined), fallback: (string|undefined)}=}
340
+ * options
341
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames
342
+ */
343
+ Intl.DisplayNames = function(locales, options) {};
344
+
345
+ /**
346
+ * @param {!Array<string>} locales
347
+ * @param {{localeMatcher: string}=} options
348
+ * @return {!Array<string>}
349
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/supportedLocalesOf
350
+ */
351
+ Intl.DisplayNames.supportedLocalesOf = function(locales, options) {};
352
+
353
+ /**
354
+ * @param {string=} code
355
+ * @return {(string|undefined)}
356
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/of
357
+ */
358
+ Intl.DisplayNames.prototype.of = function(code) {};
359
+
360
+ /**
361
+ * @return {{locale: string, style: string, type: string,
362
+ * fallback: string, languageDisplay: (string|undefined)}}
363
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DisplayNames/resolvedOptions
364
+ */
365
+ Intl.DisplayNames.prototype.resolvedOptions = function() {};
366
+
367
+ /**
368
+ * @constructor
369
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules#Syntax
370
+ * @param {string|Array<string>=} locales
371
+ * @param {{
372
+ * localeMatcher: (string|undefined), type: (string|undefined),
373
+ * minimumIntegerDigits: (number|undefined),
374
+ * minimumFractionDigits: (number|undefined),
375
+ * maximumFractionDigits: (number|undefined),
376
+ * minimumSignificantDigits: (number|undefined),
377
+ * maximumSignificantDigits: (number|undefined),
378
+ * roundingMode: (string|undefined),
379
+ * roundingIncrement: (number|undefined),
380
+ * roundingPriority: (string|undefined),
381
+ * trailingZeroDisplay: (string|undefined),
382
+ * }=} options
383
+ */
384
+ Intl.PluralRules = function(locales, options) {};
385
+
386
+ /**
387
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules/supportedLocalesOf#Syntax
388
+ * @param {Array<string>} locales
389
+ * @param {{localeMatcher: string}=} options
390
+ * @return {Array<string>}
391
+ */
392
+ Intl.PluralRules.supportedLocalesOf = function(locales, options) {};
393
+
394
+ /**
395
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules/resolvedOptions#Syntax
396
+ * @return {{locale: string, pluralCategories: Array<string>, type: string,
397
+ * minimumIntegerDigits: number, minimumFractionDigits: number,
398
+ * maximumFractionDigits: number, minimumSignificantDigits: number,
399
+ * maximumSignificantDigits: number, roundingMode: string}}
400
+ */
401
+ Intl.PluralRules.prototype.resolvedOptions = function() {};
402
+
403
+ /**
404
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules/select#Syntax
405
+ * @param {number} number
406
+ * @return {string}
407
+ */
408
+ Intl.PluralRules.prototype.select = function(number) {};
409
+
410
+ /**
411
+ * @constructor
412
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat#Syntax
413
+ * @param {string|Array<string>=} locales
414
+ * @param {{localeMatcher: (string|undefined),
415
+ * numeric: (string|undefined),
416
+ * style: (string|undefined)}=}
417
+ * options
418
+ */
419
+ Intl.RelativeTimeFormat = function(locales, options) {};
420
+
421
+ /**
422
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat/supportedLocalesOf#Syntax
423
+ * @param {Array<string>} locales
424
+ * @param {{localeMatcher: string}=} options
425
+ * @return {Array<string>}
426
+ */
427
+ Intl.RelativeTimeFormat.supportedLocalesOf = function(locales, options) {};
428
+
429
+ /**
430
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat/format#Syntax
431
+ * @param {number} value
432
+ * @param {string} unit
433
+ * @return {string}
434
+ */
435
+ Intl.RelativeTimeFormat.prototype.format = function(value, unit) {};
436
+
437
+ /**
438
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat/formatToParts#Syntax
439
+ * @param {number} value
440
+ * @param {string} unit
441
+ * @return {Array<string>}
442
+ */
443
+ Intl.RelativeTimeFormat.prototype.formatToParts = function(value, unit) {};
444
+
445
+ /**
446
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RelativeTimeFormat/resolvedOptions#Syntax
447
+ * @return {{locale: string, pluralCategories: Array<string>, type: string}}
448
+ */
449
+ Intl.RelativeTimeFormat.prototype.resolvedOptions = function() {};
450
+
451
+ /**
452
+ * @constructor
453
+ * @param {string|Array<string>=} locales
454
+ * @param {{
455
+ * localeMatcher: (string|undefined),
456
+ * type: (string|undefined),
457
+ * style: (string|undefined)
458
+ * }=} options
459
+ */
460
+ Intl.ListFormat = function(locales, options) {};
461
+
462
+ /**
463
+ * @param {Array<string>} locales
464
+ * @param {{localeMatcher: (string|undefined)}=} options
465
+ * @return {Array<string>}
466
+ */
467
+ Intl.ListFormat.supportedLocalesOf = function(locales, options) {};
468
+
469
+ /**
470
+ * @param {Array<string|number>} items
471
+ * @return {string}
472
+ */
473
+ Intl.ListFormat.prototype.format = function(items) {};
474
+
475
+ /**
476
+ * @param {Array<string|number>} items
477
+ * @return {!Array<{type: string, value: string}>}
478
+ * @see http://www.ecma-international.org/ecma-402/#sec-intl.listformat.prototype.formattoparts
479
+ */
480
+ Intl.ListFormat.prototype.formatToParts = function(items) {};
481
+
482
+ /**
483
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ListFormat/resolvedOptions#Syntax
484
+ * @return {{locale: string, style: string, type: string}}
485
+ */
486
+ Intl.ListFormat.prototype.resolvedOptions = function() {};
487
+
488
+ /**
489
+ * A string that is a valid [Unicode BCP 47 Locale
490
+ * Identifier](https://unicode.org/reports/tr35/#Unicode_locale_identifier).
491
+ *
492
+ * For example: "fa", "es-MX", "zh-Hant-TW".
493
+ *
494
+ * @typedef {string}
495
+ * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument.
496
+ */
497
+ Intl.UnicodeBCP47LocaleIdentifier;
498
+
499
+ /**
500
+ * Set of possible values: "h12", "h23", "h11", "h24".
501
+ * @typedef {string}
502
+ */
503
+ Intl.LocaleHourCycleKey;
504
+
505
+ /**
506
+ * Set of possible values: "upper", "lower", "false".
507
+ * @typedef {string}
508
+ */
509
+ Intl.LocaleCollationCaseFirst;
510
+
511
+ /**
512
+ * @record
513
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/Locale#parameters
514
+ */
515
+ Intl.LocaleOptions = function() {};
516
+
517
+ /** @type {string|undefined} */
518
+ Intl.LocaleOptions.prototype.baseName;
519
+
520
+ /** @type {string|undefined} */
521
+ Intl.LocaleOptions.prototype.calendar;
522
+
523
+ /** @type {!Intl.LocaleCollationCaseFirst|undefined} */
524
+ Intl.LocaleOptions.prototype.caseFirst;
525
+
526
+ /** @type {string|undefined} */
527
+ Intl.LocaleOptions.prototype.collation;
528
+
529
+ /** @type {!Intl.LocaleHourCycleKey|undefined} */
530
+ Intl.LocaleOptions.prototype.hourCycle;
531
+
532
+ /** @type {string|undefined} */
533
+ Intl.LocaleOptions.prototype.language;
534
+
535
+ /** @type {string|undefined} */
536
+ Intl.LocaleOptions.prototype.numberingSystem;
537
+
538
+ /** @type {boolean|undefined} */
539
+ Intl.LocaleOptions.prototype.numeric;
540
+
541
+ /** @type {string|undefined} */
542
+ Intl.LocaleOptions.prototype.region;
543
+
544
+ /** @type {string|undefined} */
545
+ Intl.LocaleOptions.prototype.script;
546
+
547
+ /**
548
+ * @constructor
549
+ * @implements {Intl.LocaleOptions}
550
+ * @param {!Intl.UnicodeBCP47LocaleIdentifier} tag
551
+ * @param {!Intl.LocaleOptions|undefined} options
552
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/Locale
553
+ */
554
+ Intl.Locale = function(tag, options) {};
555
+
556
+ /** @type {string} */
557
+ Intl.Locale.prototype.baseName;
558
+
559
+ /** @type {string|undefined} */
560
+ Intl.Locale.prototype.calendar;
561
+
562
+ /** @type {!Intl.LocaleCollationCaseFirst|undefined} */
563
+ Intl.Locale.prototype.caseFirst;
564
+
565
+ /** @type {string|undefined} */
566
+ Intl.Locale.prototype.collation;
567
+
568
+ /** @type {!Intl.LocaleHourCycleKey|undefined} */
569
+ Intl.Locale.prototype.hourCycle;
570
+
571
+ /** @type {string} */
572
+ Intl.Locale.prototype.language;
573
+
574
+ /** @type {string|undefined} */
575
+ Intl.Locale.prototype.numberingSystem;
576
+
577
+ /** @type {boolean|undefined} */
578
+ Intl.Locale.prototype.numeric;
579
+
580
+ /** @type {string|undefined} */
581
+ Intl.Locale.prototype.region;
582
+
583
+ /** @type {string|undefined} */
584
+ Intl.Locale.prototype.script;
585
+
586
+ /**
587
+ * @return {!Intl.Locale}
588
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/maximize
589
+ */
590
+ Intl.Locale.prototype.maximize = function() {};
591
+
592
+ /**
593
+ * @return {!Intl.Locale}
594
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/minimize
595
+ */
596
+ Intl.Locale.prototype.minimize = function() {};
597
+
598
+ /**
599
+ * @override
600
+ * @return {!Intl.UnicodeBCP47LocaleIdentifier}
601
+ */
602
+ Intl.Locale.prototype.toString = function() {};