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
package/externs/es3.js ADDED
@@ -0,0 +1,2716 @@
1
+ /*
2
+ * Copyright 2008 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 ECMAScript 3 Built-Ins. This include common extensions so this
19
+ * is actually ES3+Reality.
20
+ * @externs
21
+ * @author stevey@google.com (Steve Yegge)
22
+ * @author nicksantos@google.com (Nick Santos)
23
+ * @author arv@google.com (Erik Arvidsson)
24
+ * @author johnlenz@google.com (John Lenz)
25
+ */
26
+
27
+
28
+ // START ES6 RETROFIT CODE
29
+ // symbol, Symbol and Symbol.iterator are actually ES6 types but some
30
+ // base types require them to be part of their definition (such as Array).
31
+
32
+
33
+ /**
34
+ * @constructor
35
+ * @param {*=} opt_description
36
+ * @return {symbol}
37
+ * @nosideeffects
38
+ * Note: calling `new Symbol('x');` will always throw, but we mark this
39
+ * nosideeffects because the compiler does not promise to preserve all coding
40
+ * errors.
41
+ */
42
+ function Symbol(opt_description) {}
43
+
44
+
45
+ /**
46
+ * @const {string|undefined}
47
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/description
48
+ */
49
+ Symbol.prototype.description;
50
+
51
+
52
+ /**
53
+ * @param {string} sym
54
+ * @return {symbol}
55
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for
56
+ */
57
+ Symbol.for = function(sym) {};
58
+
59
+
60
+ /**
61
+ * @param {symbol} sym
62
+ * @return {string|undefined}
63
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/keyFor
64
+ */
65
+ Symbol.keyFor = function(sym) {};
66
+
67
+
68
+ // Well known symbols
69
+
70
+ /**
71
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/asyncIterator
72
+ * @const {symbol}
73
+ */
74
+ Symbol.asyncIterator;
75
+
76
+ /**
77
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance
78
+ * @const {symbol}
79
+ */
80
+ Symbol.hasInstance;
81
+
82
+ /**
83
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable
84
+ * @const {symbol}
85
+ */
86
+ Symbol.isConcatSpreadable;
87
+
88
+ /**
89
+ * @const {symbol}
90
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/iterator
91
+ */
92
+ Symbol.iterator;
93
+
94
+ /**
95
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/match
96
+ * @const {symbol}
97
+ */
98
+ Symbol.match;
99
+
100
+ /**
101
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/matchAll
102
+ * @const {symbol}
103
+ */
104
+ Symbol.matchAll;
105
+
106
+ /**
107
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/replace
108
+ * @const {symbol}
109
+ */
110
+ Symbol.replace;
111
+
112
+ /**
113
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/search
114
+ * @const {symbol}
115
+ */
116
+ Symbol.search;
117
+
118
+ /**
119
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/species
120
+ * @const {symbol}
121
+ */
122
+ Symbol.species;
123
+
124
+ // /**
125
+ // * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/split
126
+ // * @const {symbol}
127
+ // */
128
+ // Symbol.split;
129
+
130
+ /**
131
+ * @const {symbol}
132
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toPrimitive
133
+ */
134
+ Symbol.toPrimitive;
135
+
136
+ /**
137
+ * @const {symbol}
138
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag
139
+ */
140
+ Symbol.toStringTag;
141
+
142
+ /**
143
+ * @const {symbol}
144
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/unscopables
145
+ */
146
+ Symbol.unscopables;
147
+
148
+
149
+ /**
150
+ * @record
151
+ * @template TYield
152
+ */
153
+ function IIterableResult() {};
154
+
155
+ /** @type {boolean} */
156
+ IIterableResult.prototype.done;
157
+
158
+ /** @type {TYield} */
159
+ IIterableResult.prototype.value;
160
+
161
+
162
+
163
+ /**
164
+ * @interface
165
+ * @template T, TReturn, TNext
166
+ */
167
+ function Iterable() {}
168
+
169
+ // TODO(johnlenz): remove the suppression when the compiler understands
170
+ // "symbol" natively
171
+ /**
172
+ * @return {!Iterator<T, ?, *>}
173
+ * @suppress {externsValidation}
174
+ */
175
+ Iterable.prototype[Symbol.iterator] = function() {};
176
+
177
+
178
+
179
+ /**
180
+ * TODO(b/142881197): TReturn and TNext are not yet used for anything.
181
+ * https://github.com/google/closure-compiler/issues/3489
182
+ * @interface
183
+ * @template T, TReturn, TNext
184
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol
185
+ */
186
+ function Iterator() {}
187
+
188
+ /**
189
+ * @param {?=} opt_value
190
+ * @return {!IIterableResult<T>}
191
+ */
192
+ Iterator.prototype.next = function(opt_value) {};
193
+
194
+
195
+ /**
196
+ * Use this to indicate a type is both an Iterator and an Iterable.
197
+ *
198
+ * @interface
199
+ * @extends {Iterator<T, ?, *>}
200
+ * @extends {Iterable<T, ?, *>}
201
+ * @template T, TReturn, TNext
202
+ */
203
+ function IteratorIterable() {}
204
+
205
+ // END ES6 RETROFIT CODE
206
+
207
+
208
+ /**
209
+ * @interface
210
+ * @template IOBJECT_KEY, IOBJECT_VALUE
211
+ */
212
+ function IObject() {}
213
+
214
+ /**
215
+ * @record
216
+ * @extends {IObject<number, VALUE2>}
217
+ * @template VALUE2
218
+ */
219
+ function IArrayLike() {}
220
+
221
+ /** @type {number} */
222
+ IArrayLike.prototype.length;
223
+
224
+ /**
225
+ * @constructor
226
+ * @implements {IArrayLike<?>}
227
+ * @implements {Iterable<?>}
228
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments
229
+ */
230
+ function Arguments() {}
231
+
232
+ /**
233
+ * @type {Function}
234
+ * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/callee
235
+ */
236
+ Arguments.prototype.callee;
237
+
238
+ /**
239
+ * Use the non-standard {@see Function.prototype.caller} property of a function
240
+ * object instead.
241
+ * @type {Function}
242
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/caller
243
+ * @deprecated
244
+ */
245
+ Arguments.prototype.caller;
246
+
247
+ /**
248
+ * @type {number}
249
+ * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/length
250
+ */
251
+ Arguments.prototype.length;
252
+
253
+ /**
254
+ * Not actually a global variable, when running in a browser environment. But
255
+ * we need it in order for the type checker to typecheck the "arguments"
256
+ * variable in a function correctly.
257
+ *
258
+ * TODO(tbreisacher): There should be a separate 'arguments' variable of type
259
+ * `Array<string>`, in the d8 externs.
260
+ *
261
+ * @type {!Arguments}
262
+ * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments
263
+ */
264
+ var arguments;
265
+
266
+ /**
267
+ * @type {number}
268
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity
269
+ * @const
270
+ */
271
+ var Infinity;
272
+
273
+ /**
274
+ * @type {number}
275
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN
276
+ * @const
277
+ */
278
+ var NaN;
279
+
280
+ /**
281
+ * @type {undefined}
282
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined
283
+ * @const
284
+ */
285
+ var undefined;
286
+
287
+ /**
288
+ * @param {string} uri
289
+ * @return {string}
290
+ * @throws {URIError} when used wrongly.
291
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI
292
+ */
293
+ function decodeURI(uri) {}
294
+
295
+ /**
296
+ * @param {string} uri
297
+ * @return {string}
298
+ * @throws {URIError} when used wrongly.
299
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent
300
+ */
301
+ function decodeURIComponent(uri) {}
302
+
303
+ /**
304
+ * @param {string} uri
305
+ * @return {string}
306
+ * @throws {URIError} if one attempts to encode a surrogate which is not part of
307
+ * a high-low pair.
308
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI
309
+ */
310
+ function encodeURI(uri) {}
311
+
312
+ /**
313
+ * @param {string} uri
314
+ * @return {string}
315
+ * @throws {URIError} if one attempts to encode a surrogate which is not part of
316
+ * a high-low pair.
317
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
318
+ */
319
+ function encodeURIComponent(uri) {}
320
+
321
+ /**
322
+ * Should only be used in browsers where encode/decodeURIComponent
323
+ * are not present, as the latter handle fancy Unicode characters.
324
+ * @param {string} str
325
+ * @return {string}
326
+ * @nosideeffects
327
+ * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions
328
+ */
329
+ function escape(str) {}
330
+
331
+ /**
332
+ * Should only be used in browsers where encode/decodeURIComponent
333
+ * are not present, as the latter handle fancy Unicode characters.
334
+ * @param {string} str
335
+ * @return {string}
336
+ * @nosideeffects
337
+ * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions
338
+ */
339
+ function unescape(str) {}
340
+
341
+ /**
342
+ * @param {*} num
343
+ * @return {boolean}
344
+ * @nosideeffects
345
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinite
346
+ */
347
+ function isFinite(num) {}
348
+
349
+ /**
350
+ * @param {*} num
351
+ * @return {boolean}
352
+ * @nosideeffects
353
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN
354
+ */
355
+ function isNaN(num) {}
356
+
357
+ /**
358
+ * @param {*} num
359
+ * @return {number}
360
+ * @nosideeffects
361
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat
362
+ */
363
+ function parseFloat(num) {}
364
+
365
+ /**
366
+ * Parse an integer. Use of `parseInt` without `base` is strictly
367
+ * banned in Google. If you really want to parse octal or hex based on the
368
+ * leader, then pass `undefined` as the base.
369
+ *
370
+ * @param {*} num
371
+ * @param {number|undefined} base
372
+ * @return {number}
373
+ * @nosideeffects
374
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt
375
+ */
376
+ function parseInt(num, base) {}
377
+
378
+
379
+ /**
380
+ * Represents a string of JavaScript code that is known to have come from a
381
+ * trusted source. Part of Trusted Types.
382
+ *
383
+ * The main body Trusted Types type definitions reside in the file
384
+ * `w3c_trusted_types.js`. This definition was placed here so that it would be
385
+ * accessible to `eval()`.
386
+ *
387
+ * @constructor
388
+ * @see https://w3c.github.io/webappsec-trusted-types/dist/spec/#trusted-script
389
+ */
390
+ function TrustedScript() {}
391
+
392
+
393
+ /**
394
+ * @param {string|!TrustedScript} code
395
+ * @return {*}
396
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval
397
+ */
398
+ function eval(code) {}
399
+
400
+
401
+
402
+ /**
403
+ * @constructor
404
+ * @param {*=} opt_value
405
+ * @return {!Object}
406
+ * @nosideeffects
407
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object
408
+ */
409
+ function Object(opt_value) {}
410
+
411
+ /**
412
+ * The constructor of the current object.
413
+ * @type {Function}
414
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor
415
+ */
416
+ Object.prototype.constructor = function() {};
417
+
418
+ /**
419
+ * Binds an object's property to a function to be called when that property is
420
+ * looked up.
421
+ * Mozilla-only.
422
+ *
423
+ * @param {string} sprop
424
+ * @param {Function} fun
425
+ * @modifies {this}
426
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineGetter
427
+ * @return {undefined}
428
+ * @deprecated
429
+ */
430
+ Object.prototype.__defineGetter__ = function(sprop, fun) {};
431
+
432
+ /**
433
+ * Binds an object's property to a function to be called when an attempt is made
434
+ * to set that property.
435
+ * Mozilla-only.
436
+ *
437
+ * @param {string} sprop
438
+ * @param {Function} fun
439
+ * @modifies {this}
440
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineSetter
441
+ * @return {undefined}
442
+ * @deprecated
443
+ */
444
+ Object.prototype.__defineSetter__ = function(sprop, fun) {};
445
+
446
+ /**
447
+ * Returns whether the object has a property with the specified name.
448
+ *
449
+ * @param {*} propertyName Implicitly cast to a string.
450
+ * @return {boolean}
451
+ * @nosideeffects
452
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty
453
+ */
454
+ Object.prototype.hasOwnProperty = function(propertyName) {};
455
+
456
+ /**
457
+ * Returns whether an object exists in another object's prototype chain.
458
+ *
459
+ * @param {Object} other
460
+ * @return {boolean}
461
+ * @nosideeffects
462
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf
463
+ */
464
+ Object.prototype.isPrototypeOf = function(other) {};
465
+
466
+ /**
467
+ * Return the function bound as a getter to the specified property.
468
+ * Mozilla-only.
469
+ *
470
+ * @param {string} sprop a string containing the name of the property whose
471
+ * getter should be returned
472
+ * @return {Function}
473
+ * @nosideeffects
474
+ * @deprecated
475
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupGetter
476
+ */
477
+ Object.prototype.__lookupGetter__ = function(sprop) {};
478
+
479
+ /**
480
+ * Return the function bound as a setter to the specified property.
481
+ * Mozilla-only.
482
+ *
483
+ * @param {string} sprop a string containing the name of the property whose
484
+ * setter should be returned.
485
+ * @return {Function}
486
+ * @nosideeffects
487
+ * @deprecated
488
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupSetter
489
+ */
490
+ Object.prototype.__lookupSetter__ = function(sprop) {};
491
+
492
+ /**
493
+ * Executes a function when a non-existent method is called on an object.
494
+ * Mozilla-only.
495
+ *
496
+ * @param {Function} fun
497
+ * @return {*}
498
+ * @deprecated
499
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/noSuchMethod
500
+ */
501
+ Object.prototype.__noSuchMethod__ = function(fun) {};
502
+
503
+ /**
504
+ * Points to an object's context. For top-level objects, this is the e.g. window.
505
+ * Mozilla-only.
506
+ *
507
+ * @type {Object}
508
+ * @deprecated
509
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/parent
510
+ */
511
+ Object.prototype.__parent__;
512
+
513
+ /**
514
+ * Points to the object which was used as prototype when the object was instantiated.
515
+ * Mozilla-only.
516
+ *
517
+ * Will be null on Object.prototype.
518
+ *
519
+ * @type {Object}
520
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto
521
+ */
522
+ Object.prototype.__proto__;
523
+
524
+ /**
525
+ * Determine whether the specified property in an object can be enumerated by a
526
+ * for..in loop, with the exception of properties inherited through the
527
+ * prototype chain.
528
+ *
529
+ * @param {string|symbol} propertyName
530
+ * @return {boolean}
531
+ * @nosideeffects
532
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable
533
+ */
534
+ Object.prototype.propertyIsEnumerable = function(propertyName) {};
535
+
536
+ /**
537
+ * Returns a localized string representing the object.
538
+ * @return {string}
539
+ * @nosideeffects
540
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString
541
+ */
542
+ Object.prototype.toLocaleString = function() {};
543
+
544
+ /**
545
+ * Returns a string representing the source code of the object.
546
+ * Mozilla-only.
547
+ * @return {string}
548
+ * @nosideeffects
549
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource
550
+ */
551
+ Object.prototype.toSource = function() {};
552
+
553
+ /**
554
+ * Returns a string representing the object.
555
+ * @this {*}
556
+ * @return {string}
557
+ * @nosideeffects
558
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString
559
+ */
560
+ Object.prototype.toString = function() {};
561
+
562
+ /**
563
+ * Returns the object's `this` value.
564
+ * @return {*}
565
+ * @nosideeffects
566
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf
567
+ */
568
+ Object.prototype.valueOf = function() {};
569
+
570
+ /**
571
+ * @constructor
572
+ * @param {...*} var_args
573
+ * @throws {Error}
574
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function
575
+ */
576
+ function Function(var_args) {}
577
+
578
+ /**
579
+ * @param {...*} var_args
580
+ * @return {*}
581
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call
582
+ */
583
+ Function.prototype.call = function(var_args) {};
584
+
585
+ /**
586
+ * @param {...*} var_args
587
+ * @return {*}
588
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply
589
+ */
590
+ Function.prototype.apply = function(var_args) {};
591
+
592
+ Function.prototype.arguments;
593
+
594
+ /**
595
+ * @type {number}
596
+ * @deprecated
597
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arity
598
+ */
599
+ Function.prototype.arity;
600
+
601
+ /**
602
+ * Nonstandard; Mozilla and JScript only.
603
+ * @type {Function}
604
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller
605
+ */
606
+ Function.prototype.caller;
607
+
608
+ /**
609
+ * Nonstandard.
610
+ * @type {?}
611
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName
612
+ */
613
+ Function.prototype.displayName;
614
+
615
+ /**
616
+ * Expected number of arguments.
617
+ * @type {number}
618
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length
619
+ */
620
+ Function.prototype.length;
621
+
622
+ /**
623
+ * @type {string}
624
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name
625
+ */
626
+ Function.prototype.name;
627
+
628
+ /**
629
+ * @this {Function}
630
+ * @return {string}
631
+ * @nosideeffects
632
+ * @override
633
+ */
634
+ Function.prototype.toString = function() {};
635
+
636
+
637
+ /**
638
+ * @record
639
+ * @extends {IArrayLike<T>}
640
+ * @extends {Iterable<T>}
641
+ * @template T
642
+ */
643
+ function ReadonlyArray() {}
644
+
645
+ // TODO(johnlenz): remove the suppression when the compiler understands
646
+ // "symbol" natively
647
+ /**
648
+ * @return {Iterator<T>}
649
+ * @suppress {externsValidation}
650
+ */
651
+ ReadonlyArray.prototype[Symbol.iterator] = function() {};
652
+
653
+ /**
654
+ * Returns a new array comprised of this array joined with other array(s)
655
+ * and/or value(s).
656
+ *
657
+ * @param {...*} var_args
658
+ * @return {!Array<?>}
659
+ * @this {*}
660
+ * @nosideeffects
661
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
662
+ */
663
+ ReadonlyArray.prototype.concat = function(var_args) {};
664
+
665
+ /**
666
+ * Joins all elements of an array into a string.
667
+ *
668
+ * @param {*=} opt_separator Specifies a string to separate each element of the
669
+ * array. The separator is converted to a string if necessary. If omitted,
670
+ * the array elements are separated with a comma.
671
+ * @return {string}
672
+ * @this {IArrayLike<?>|string}
673
+ * @nosideeffects
674
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join
675
+ */
676
+ ReadonlyArray.prototype.join = function(opt_separator) {};
677
+
678
+ /**
679
+ * Extracts a section of an array and returns a new array.
680
+ *
681
+ * @param {?number=} begin Zero-based index at which to begin extraction.
682
+ * @param {?number=} end Zero-based index at which to end extraction. slice
683
+ * extracts up to but not including end.
684
+ * @return {!Array<T>}
685
+ * @this {IArrayLike<T>|string}
686
+ * @template T
687
+ * @nosideeffects
688
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
689
+ */
690
+ ReadonlyArray.prototype.slice = function(begin, end) {};
691
+
692
+ /**
693
+ * @this {ReadonlyArray<?>}
694
+ * @return {string}
695
+ * @nosideeffects
696
+ * @override
697
+ */
698
+ ReadonlyArray.prototype.toString = function() {};
699
+
700
+ /**
701
+ * Apply a function simultaneously against two values of the array (from
702
+ * left-to-right) as to reduce it to a single value.
703
+ *
704
+ * @param {?function(?, T, number, !ReadonlyArray<T>) : R} callback
705
+ * @param {*=} opt_initialValue
706
+ * @return {R}
707
+ * @this {IArrayLike<T>|string}
708
+ * @template T,R
709
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
710
+ */
711
+ ReadonlyArray.prototype.reduce = function(callback, opt_initialValue) {};
712
+
713
+ /**
714
+ * Apply a function simultaneously against two values of the array (from
715
+ * right-to-left) as to reduce it to a single value.
716
+ *
717
+ * @param {?function(?, T, number, !ReadonlyArray<T>) : R} callback
718
+ * @param {*=} opt_initialValue
719
+ * @return {R}
720
+ * @this {IArrayLike<T>|string}
721
+ * @template T,R
722
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight
723
+ */
724
+ ReadonlyArray.prototype.reduceRight = function(callback, opt_initialValue) {};
725
+
726
+ /**
727
+ * Available in ECMAScript 5, Mozilla 1.6+.
728
+ * @param {?function(this:S, T, number, !ReadonlyArray<T>): *} callback
729
+ * @param {S=} opt_thisobj
730
+ * @return {boolean}
731
+ * @this {IArrayLike<T>|string}
732
+ * @template T,S
733
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every
734
+ */
735
+ ReadonlyArray.prototype.every = function(callback, opt_thisobj) {};
736
+
737
+ /**
738
+ * Available in ECMAScript 5, Mozilla 1.6+.
739
+ * @param {?function(this:S, T, number, !ReadonlyArray<T>): *} callback
740
+ * @param {S=} opt_thisobj
741
+ * @return {!Array<T>}
742
+ * @this {IArrayLike<T>|string}
743
+ * @template T,S
744
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
745
+ */
746
+ ReadonlyArray.prototype.filter = function(callback, opt_thisobj) {};
747
+
748
+ /**
749
+ * Available in ECMAScript 5, Mozilla 1.6+.
750
+ * @param {?function(this:S, T, number, !ReadonlyArray<T>): ?} callback
751
+ * @param {S=} opt_thisobj
752
+ * @this {IArrayLike<T>|string}
753
+ * @template T,S
754
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
755
+ * @return {undefined}
756
+ */
757
+ ReadonlyArray.prototype.forEach = function(callback, opt_thisobj) {};
758
+
759
+ /**
760
+ * Available in ECMAScript 5, Mozilla 1.6+.
761
+ * @param {?} obj
762
+ * @param {number=} opt_fromIndex
763
+ * @return {number}
764
+ * @this {IArrayLike<T>|string}
765
+ * @nosideeffects
766
+ * @template T
767
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
768
+ */
769
+ ReadonlyArray.prototype.indexOf = function(obj, opt_fromIndex) {};
770
+
771
+ /**
772
+ * Available in ECMAScript 5, Mozilla 1.6+.
773
+ * @param {?} obj
774
+ * @param {number=} opt_fromIndex
775
+ * @return {number}
776
+ * @this {IArrayLike<T>|string}
777
+ * @nosideeffects
778
+ * @template T
779
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf
780
+ */
781
+ ReadonlyArray.prototype.lastIndexOf = function(obj, opt_fromIndex) {};
782
+
783
+ /**
784
+ * Available in ECMAScript 5, Mozilla 1.6+.
785
+ * @param {?function(this:S, T, number, !ReadonlyArray<T>): R} callback
786
+ * @param {S=} opt_thisobj
787
+ * @return {!Array<R>}
788
+ * @this {IArrayLike<T>|string}
789
+ * @template T,S,R
790
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
791
+ */
792
+ ReadonlyArray.prototype.map = function(callback, opt_thisobj) {};
793
+
794
+ /**
795
+ * Available in ECMAScript 5, Mozilla 1.6+.
796
+ * @param {?function(this:S, T, number, !ReadonlyArray<T>): *} callback
797
+ * @param {S=} opt_thisobj
798
+ * @return {boolean}
799
+ * @this {IArrayLike<T>|string}
800
+ * @template T,S
801
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some
802
+ */
803
+ ReadonlyArray.prototype.some = function(callback, opt_thisobj) {};
804
+
805
+ /**
806
+ * @const {number}
807
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length
808
+ */
809
+ ReadonlyArray.prototype.length;
810
+
811
+ /**
812
+ * @constructor
813
+ * @implements {IArrayLike<T>}
814
+ * @implements {Iterable<T>}
815
+ * @implements {ReadonlyArray<T>}
816
+ * @param {...*} var_args
817
+ * @return {!Array}
818
+ * @nosideeffects
819
+ * @template T
820
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
821
+ */
822
+ function Array(var_args) {}
823
+
824
+ /**
825
+ * @return {Iterator<T>}
826
+ * @suppress {externsValidation}
827
+ * @override
828
+ */
829
+ Array.prototype[Symbol.iterator] = function() {};
830
+
831
+ // Functions:
832
+
833
+ /**
834
+ * Returns a new array comprised of this array joined with other array(s)
835
+ * and/or value(s).
836
+ *
837
+ * @param {...*} var_args
838
+ * @return {!Array<?>}
839
+ * @this {*}
840
+ * @nosideeffects
841
+ * @override
842
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
843
+ */
844
+ Array.prototype.concat = function(var_args) {};
845
+
846
+ /**
847
+ * Joins all elements of an array into a string.
848
+ *
849
+ * @param {*=} opt_separator Specifies a string to separate each element of the
850
+ * array. The separator is converted to a string if necessary. If omitted,
851
+ * the array elements are separated with a comma.
852
+ * @return {string}
853
+ * @this {IArrayLike<?>|string}
854
+ * @nosideeffects
855
+ * @override
856
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join
857
+ */
858
+ Array.prototype.join = function(opt_separator) {};
859
+
860
+ /**
861
+ * Removes the last element from an array and returns that element.
862
+ *
863
+ * @return {T}
864
+ * @this {IArrayLike<T>}
865
+ * @modifies {this}
866
+ * @template T
867
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop
868
+ */
869
+ Array.prototype.pop = function() {};
870
+
871
+ // TODO(bradfordcsmith): remove "undefined" from the var_args of push
872
+ /**
873
+ * Mutates an array by appending the given elements and returning the new
874
+ * length of the array.
875
+ *
876
+ * @param {...(T|undefined)} var_args
877
+ * @return {number} The new length of the array.
878
+ * @this {IArrayLike<T>}
879
+ * @template T
880
+ * @modifies {this}
881
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
882
+ */
883
+ Array.prototype.push = function(var_args) {};
884
+
885
+ /**
886
+ * Transposes the elements of an array in place: the first array element becomes the
887
+ * last and the last becomes the first. The mutated array is also returned.
888
+ *
889
+ * @return {THIS} A reference to the original modified array.
890
+ * @this {THIS}
891
+ * @template THIS
892
+ * @modifies {this}
893
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse
894
+ */
895
+ Array.prototype.reverse = function() {};
896
+
897
+ /**
898
+ * Removes the first element from an array and returns that element. This
899
+ * method changes the length of the array.
900
+ *
901
+ * @this {IArrayLike<T>}
902
+ * @modifies {this}
903
+ * @return {T}
904
+ * @template T
905
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
906
+ */
907
+ Array.prototype.shift = function() {};
908
+
909
+ /**
910
+ * Extracts a section of an array and returns a new array.
911
+ *
912
+ * @param {?number=} begin Zero-based index at which to begin extraction.
913
+ * @param {?number=} end Zero-based index at which to end extraction. slice
914
+ * extracts up to but not including end.
915
+ * @return {!Array<T>}
916
+ * @this {IArrayLike<T>|string}
917
+ * @template T
918
+ * @nosideeffects
919
+ * @override
920
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
921
+ */
922
+ Array.prototype.slice = function(begin, end) {};
923
+
924
+ /**
925
+ * Sorts the elements of an array in place.
926
+ *
927
+ * @param {function(T,T):number=} opt_compareFn Specifies a function that
928
+ * defines the sort order.
929
+ * @this {IArrayLike<T>}
930
+ * @template T
931
+ * @modifies {this}
932
+ * @return {!Array<T>}
933
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
934
+ */
935
+ Array.prototype.sort = function(opt_compareFn) {};
936
+
937
+ /**
938
+ * Changes the content of an array, adding new elements while removing old
939
+ * elements.
940
+ *
941
+ * @param {?number=} index Index at which to start changing the array. If
942
+ * negative, will begin that many elements from the end.
943
+ * @param {?number=} howMany An integer indicating the number of old array
944
+ * elements to remove.
945
+ * @param {...T} var_args
946
+ * @return {!Array<T>}
947
+ * @this {IArrayLike<T>}
948
+ * @modifies {this}
949
+ * @template T
950
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
951
+ */
952
+ Array.prototype.splice = function(index, howMany, var_args) {};
953
+
954
+ /**
955
+ * @return {string}
956
+ * @this {Object}
957
+ * @nosideeffects
958
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSource
959
+ */
960
+ Array.prototype.toSource;
961
+
962
+ /**
963
+ * @this {Array<?>}
964
+ * @return {string}
965
+ * @nosideeffects
966
+ * @override
967
+ */
968
+ Array.prototype.toString = function() {};
969
+
970
+ /**
971
+ * Adds one or more elements to the beginning of an array and returns the new
972
+ * length of the array.
973
+ *
974
+ * @param {...*} var_args
975
+ * @return {number} The new length of the array
976
+ * @this {IArrayLike<?>}
977
+ * @modifies {this}
978
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift
979
+ */
980
+ Array.prototype.unshift = function(var_args) {};
981
+
982
+ /**
983
+ * Apply a function simultaneously against two values of the array (from
984
+ * left-to-right) as to reduce it to a single value.
985
+ *
986
+ * @param {?function(?, T, number, !Array<T>) : R} callback
987
+ * @param {*=} opt_initialValue
988
+ * @return {R}
989
+ * @this {IArrayLike<T>|string}
990
+ * @template T,R
991
+ * @override
992
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
993
+ */
994
+ Array.prototype.reduce = function(callback, opt_initialValue) {};
995
+
996
+ /**
997
+ * Apply a function simultaneously against two values of the array (from
998
+ * right-to-left) as to reduce it to a single value.
999
+ *
1000
+ * @param {?function(?, T, number, !Array<T>) : R} callback
1001
+ * @param {*=} opt_initialValue
1002
+ * @return {R}
1003
+ * @this {IArrayLike<T>|string}
1004
+ * @template T,R
1005
+ * @override
1006
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight
1007
+ */
1008
+ Array.prototype.reduceRight = function(callback, opt_initialValue) {};
1009
+
1010
+ /**
1011
+ * Available in ECMAScript 5, Mozilla 1.6+.
1012
+ * @param {?function(this:S, T, number, !Array<T>): *} callback
1013
+ * @param {S=} opt_thisobj
1014
+ * @return {boolean}
1015
+ * @this {IArrayLike<T>|string}
1016
+ * @template T,S
1017
+ * @override
1018
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every
1019
+ */
1020
+ Array.prototype.every = function(callback, opt_thisobj) {};
1021
+
1022
+ /**
1023
+ * Available in ECMAScript 5, Mozilla 1.6+.
1024
+ * @param {?function(this:S, T, number, !Array<T>): *} callback
1025
+ * @param {S=} opt_thisobj
1026
+ * @return {!Array<T>}
1027
+ * @this {IArrayLike<T>|string}
1028
+ * @template T,S
1029
+ * @override
1030
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
1031
+ */
1032
+ Array.prototype.filter = function(callback, opt_thisobj) {};
1033
+
1034
+ /**
1035
+ * Available in ECMAScript 5, Mozilla 1.6+.
1036
+ * @param {?function(this:S, T, number, !Array<T>): ?} callback
1037
+ * @param {S=} opt_thisobj
1038
+ * @return {undefined}
1039
+ * @this {IArrayLike<T>|string}
1040
+ * @template T,S
1041
+ * @override
1042
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
1043
+ */
1044
+ Array.prototype.forEach = function(callback, opt_thisobj) {};
1045
+
1046
+ /**
1047
+ * Available in ECMAScript 5, Mozilla 1.6+.
1048
+ * @param {T} obj
1049
+ * @param {number=} opt_fromIndex
1050
+ * @return {number}
1051
+ * @this {IArrayLike<T>|string}
1052
+ * @nosideeffects
1053
+ * @template T
1054
+ * @override
1055
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf
1056
+ */
1057
+ Array.prototype.indexOf = function(obj, opt_fromIndex) {};
1058
+
1059
+ /**
1060
+ * Available in ECMAScript 5, Mozilla 1.6+.
1061
+ * @param {T} obj
1062
+ * @param {number=} opt_fromIndex
1063
+ * @return {number}
1064
+ * @this {IArrayLike<T>|string}
1065
+ * @nosideeffects
1066
+ * @template T
1067
+ * @override
1068
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf
1069
+ */
1070
+ Array.prototype.lastIndexOf = function(obj, opt_fromIndex) {};
1071
+
1072
+ /**
1073
+ * Available in ECMAScript 5, Mozilla 1.6+.
1074
+ * @param {?function(this:S, T, number, !Array<T>): R} callback
1075
+ * @param {S=} opt_thisobj
1076
+ * @return {!Array<R>}
1077
+ * @this {IArrayLike<T>|string}
1078
+ * @template T,S,R
1079
+ * @override
1080
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
1081
+ */
1082
+ Array.prototype.map = function(callback, opt_thisobj) {};
1083
+
1084
+ /**
1085
+ * Available in ECMAScript 5, Mozilla 1.6+.
1086
+ * @param {?function(this:S, T, number, !Array<T>): *} callback
1087
+ * @param {S=} opt_thisobj
1088
+ * @return {boolean}
1089
+ * @this {IArrayLike<T>|string}
1090
+ * @template T,S
1091
+ * @override
1092
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some
1093
+ */
1094
+ Array.prototype.some = function(callback, opt_thisobj) {};
1095
+
1096
+ /**
1097
+ * @type {number}
1098
+ */
1099
+ Array.prototype.index;
1100
+
1101
+ /**
1102
+ * @type {?string}
1103
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/input
1104
+ */
1105
+ Array.prototype.input;
1106
+
1107
+ /**
1108
+ * @type {number}
1109
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length
1110
+ */
1111
+ Array.prototype.length;
1112
+
1113
+ /**
1114
+ * Introduced in 1.8.5.
1115
+ * @param {*} arr
1116
+ * @return {boolean}
1117
+ * @nosideeffects
1118
+ * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray
1119
+ */
1120
+ Array.isArray = function(arr) {};
1121
+
1122
+ /**
1123
+ * @constructor
1124
+ * @param {*=} opt_value
1125
+ * @return {boolean}
1126
+ * @nosideeffects
1127
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean
1128
+ */
1129
+ function Boolean(opt_value) {}
1130
+
1131
+ /**
1132
+ * @return {string}
1133
+ * @nosideeffects
1134
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/toSource
1135
+ * @override
1136
+ */
1137
+ Boolean.prototype.toSource = function() {};
1138
+
1139
+ /**
1140
+ * @this {boolean|Boolean}
1141
+ * @return {string}
1142
+ * @nosideeffects
1143
+ * @override
1144
+ */
1145
+ Boolean.prototype.toString = function() {};
1146
+
1147
+ /**
1148
+ * @return {boolean}
1149
+ * @nosideeffects
1150
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/valueOf
1151
+ * @override
1152
+ */
1153
+ Boolean.prototype.valueOf = function() {};
1154
+
1155
+ /**
1156
+ * @constructor
1157
+ * @param {*=} opt_value
1158
+ * @return {number}
1159
+ * @nosideeffects
1160
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
1161
+ */
1162
+ function Number(opt_value) {}
1163
+
1164
+ /**
1165
+ * @this {Number|number}
1166
+ * @param {number=} opt_fractionDigits
1167
+ * @return {string}
1168
+ * @nosideeffects
1169
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential
1170
+ */
1171
+ Number.prototype.toExponential = function(opt_fractionDigits) {};
1172
+
1173
+ /**
1174
+ * @this {Number|number}
1175
+ * @param {number=} opt_digits
1176
+ * @return {string}
1177
+ * @nosideeffects
1178
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed
1179
+ */
1180
+ Number.prototype.toFixed = function(opt_digits) {};
1181
+
1182
+ /**
1183
+ * @this {Number|number}
1184
+ * @param {number=} opt_precision
1185
+ * @return {string}
1186
+ * @nosideeffects
1187
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision
1188
+ */
1189
+ Number.prototype.toPrecision = function(opt_precision) {};
1190
+
1191
+ /**
1192
+ * Returns a string representing the number.
1193
+ * @this {Number|number}
1194
+ * @param {(number|Number)=} opt_radix An optional radix.
1195
+ * @return {string}
1196
+ * @nosideeffects
1197
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString
1198
+ * @override
1199
+ */
1200
+ Number.prototype.toString = function(opt_radix) {};
1201
+
1202
+ // Properties.
1203
+ /**
1204
+ * @const {number}
1205
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE
1206
+ */
1207
+ Number.MAX_VALUE;
1208
+
1209
+ /**
1210
+ * @const {number}
1211
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE
1212
+ */
1213
+ Number.MIN_VALUE;
1214
+
1215
+ /**
1216
+ * @const {number}
1217
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NaN
1218
+ */
1219
+ Number.NaN;
1220
+
1221
+ /**
1222
+ * @const {number}
1223
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY
1224
+ */
1225
+ Number.NEGATIVE_INFINITY;
1226
+
1227
+ /**
1228
+ * @const {number}
1229
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY
1230
+ */
1231
+ Number.POSITIVE_INFINITY;
1232
+
1233
+ /**
1234
+ * @constructor
1235
+ * @param {number|string|bigint} arg
1236
+ * @return {bigint}
1237
+ * @nosideeffects
1238
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt
1239
+ */
1240
+ function BigInt(arg) {}
1241
+
1242
+ /**
1243
+ * Wraps a BigInt value to a signed integer between -2^(width-1) and
1244
+ * 2^(width-1)-1.
1245
+ * @param {number} width
1246
+ * @param {bigint} bigint
1247
+ * @return {bigint}
1248
+ * @nosideeffects
1249
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt/asIntN
1250
+ */
1251
+ BigInt.asIntN = function(width, bigint) {};
1252
+
1253
+ /**
1254
+ * Wraps a BigInt value to an unsigned integer between 0 and (2^width)-1.
1255
+ * @param {number} width
1256
+ * @param {bigint} bigint
1257
+ * @return {bigint}
1258
+ * @nosideeffects
1259
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt/asUintN
1260
+ */
1261
+ BigInt.asUintN = function(width, bigint) {};
1262
+
1263
+ /**
1264
+ * Returns a string with a language-sensitive representation of this BigInt.
1265
+ * @param {string|!Array<string>=} locales
1266
+ * @param {Object=} options
1267
+ * @return {string}
1268
+ * @nosideeffects
1269
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt/toLocaleString
1270
+ * @override
1271
+ */
1272
+ BigInt.prototype.toLocaleString = function(locales, options) {};
1273
+
1274
+ /**
1275
+ * Returns a string representing the specified BigInt object. The trailing "n"
1276
+ * is not part of the string.
1277
+ * @this {BigInt|bigint}
1278
+ * @param {number=} radix
1279
+ * @return {string}
1280
+ * @nosideeffects
1281
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt/toString
1282
+ * @override
1283
+ */
1284
+ BigInt.prototype.toString = function(radix) {};
1285
+
1286
+ /**
1287
+ * Returns the wrapped primitive value of a BigInt object.
1288
+ * @return {bigint}
1289
+ * @nosideeffects
1290
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt/valueOf
1291
+ * @override
1292
+ */
1293
+ BigInt.prototype.valueOf = function() {};
1294
+
1295
+
1296
+ /**
1297
+ * @const
1298
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math
1299
+ */
1300
+ var Math = {};
1301
+
1302
+ /**
1303
+ * @param {?} x
1304
+ * @return {number}
1305
+ * @nosideeffects
1306
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs
1307
+ */
1308
+ Math.abs = function(x) {};
1309
+
1310
+ /**
1311
+ * @param {?} x
1312
+ * @return {number}
1313
+ * @nosideeffects
1314
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos
1315
+ */
1316
+ Math.acos = function(x) {};
1317
+
1318
+ /**
1319
+ * @param {?} x
1320
+ * @return {number}
1321
+ * @nosideeffects
1322
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin
1323
+ */
1324
+ Math.asin = function(x) {};
1325
+
1326
+ /**
1327
+ * @param {?} x
1328
+ * @return {number}
1329
+ * @nosideeffects
1330
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan
1331
+ */
1332
+ Math.atan = function(x) {};
1333
+
1334
+ /**
1335
+ * @param {?} y
1336
+ * @param {?} x
1337
+ * @return {number}
1338
+ * @nosideeffects
1339
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2
1340
+ */
1341
+ Math.atan2 = function(y, x) {};
1342
+
1343
+ /**
1344
+ * @param {?} x
1345
+ * @return {number}
1346
+ * @nosideeffects
1347
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil
1348
+ */
1349
+ Math.ceil = function(x) {};
1350
+
1351
+ /**
1352
+ * @param {?} x
1353
+ * @return {number}
1354
+ * @nosideeffects
1355
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos
1356
+ */
1357
+ Math.cos = function(x) {};
1358
+
1359
+ /**
1360
+ * @param {?} x
1361
+ * @return {number}
1362
+ * @nosideeffects
1363
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp
1364
+ */
1365
+ Math.exp = function(x) {};
1366
+
1367
+ /**
1368
+ * @param {?} x
1369
+ * @return {number}
1370
+ * @nosideeffects
1371
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor
1372
+ */
1373
+ Math.floor = function(x) {};
1374
+
1375
+ /**
1376
+ * @param {?} x
1377
+ * @return {number}
1378
+ * @nosideeffects
1379
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log
1380
+ */
1381
+ Math.log = function(x) {};
1382
+
1383
+ /**
1384
+ * @param {...?} var_args
1385
+ * @return {number}
1386
+ * @nosideeffects
1387
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max
1388
+ */
1389
+ Math.max = function(var_args) {};
1390
+
1391
+ /**
1392
+ * @param {...?} var_args
1393
+ * @return {number}
1394
+ * @nosideeffects
1395
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min
1396
+ */
1397
+ Math.min = function(var_args) {};
1398
+
1399
+ /**
1400
+ * @param {?} x
1401
+ * @param {?} y
1402
+ * @return {number}
1403
+ * @nosideeffects
1404
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow
1405
+ */
1406
+ Math.pow = function(x, y) {};
1407
+
1408
+ /**
1409
+ * @return {number}
1410
+ * @nosideeffects
1411
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
1412
+ */
1413
+ Math.random = function() {};
1414
+
1415
+ /**
1416
+ * @param {?} x
1417
+ * @return {number}
1418
+ * @nosideeffects
1419
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round
1420
+ */
1421
+ Math.round = function(x) {};
1422
+
1423
+ /**
1424
+ * @param {?} x
1425
+ * @return {number}
1426
+ * @nosideeffects
1427
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin
1428
+ */
1429
+ Math.sin = function(x) {};
1430
+
1431
+ /**
1432
+ * @param {?} x
1433
+ * @return {number}
1434
+ * @nosideeffects
1435
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt
1436
+ */
1437
+ Math.sqrt = function(x) {};
1438
+
1439
+ /**
1440
+ * @param {?} x
1441
+ * @return {number}
1442
+ * @nosideeffects
1443
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tan
1444
+ */
1445
+ Math.tan = function(x) {};
1446
+
1447
+ /**
1448
+ * @return {string}
1449
+ * @nosideeffects
1450
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/toSource
1451
+ */
1452
+ Math.toSource = function() {};
1453
+
1454
+ // Properties:
1455
+
1456
+ /**
1457
+ * @const {number}
1458
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E
1459
+ */
1460
+ Math.E;
1461
+
1462
+ /**
1463
+ * @const {number}
1464
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2
1465
+ */
1466
+ Math.LN2;
1467
+
1468
+ /**
1469
+ * @const {number}
1470
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10
1471
+ */
1472
+ Math.LN10;
1473
+
1474
+ /**
1475
+ * @const {number}
1476
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E
1477
+ */
1478
+ Math.LOG2E;
1479
+
1480
+ /**
1481
+ * @const {number}
1482
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E
1483
+ */
1484
+ Math.LOG10E;
1485
+
1486
+ /**
1487
+ * @const {number}
1488
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI
1489
+ */
1490
+ Math.PI;
1491
+
1492
+ /**
1493
+ * @const {number}
1494
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2
1495
+ */
1496
+ Math.SQRT1_2;
1497
+
1498
+ /**
1499
+ * @const {number}
1500
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2
1501
+ */
1502
+ Math.SQRT2;
1503
+
1504
+
1505
+ /**
1506
+ * @param {?=} opt_yr_num
1507
+ * @param {?=} opt_mo_num
1508
+ * @param {?=} opt_day_num
1509
+ * @param {?=} opt_hr_num
1510
+ * @param {?=} opt_min_num
1511
+ * @param {?=} opt_sec_num
1512
+ * @param {?=} opt_ms_num
1513
+ * @constructor
1514
+ * @return {string}
1515
+ * @nosideeffects
1516
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
1517
+ */
1518
+ function Date(opt_yr_num, opt_mo_num, opt_day_num, opt_hr_num, opt_min_num,
1519
+ opt_sec_num, opt_ms_num) {}
1520
+
1521
+ /**
1522
+ * @return {number}
1523
+ * @nosideeffects
1524
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now
1525
+ */
1526
+ Date.now = function() {};
1527
+
1528
+ /**
1529
+ * Parses a string representation of a date, and returns the number
1530
+ * of milliseconds since January 1, 1970, 00:00:00, local time.
1531
+ * @param {*} date
1532
+ * @return {number}
1533
+ * @nosideeffects
1534
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
1535
+ */
1536
+ Date.parse = function(date) {};
1537
+
1538
+ /**
1539
+ * @param {number} year
1540
+ * @param {number=} opt_month
1541
+ * @param {number=} opt_date
1542
+ * @param {number=} opt_hours
1543
+ * @param {number=} opt_minute
1544
+ * @param {number=} opt_second
1545
+ * @param {number=} opt_ms
1546
+ * @return {number}
1547
+ * @nosideeffects
1548
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC
1549
+ */
1550
+ Date.UTC = function(year, opt_month,
1551
+ opt_date, opt_hours, opt_minute, opt_second, opt_ms) {};
1552
+
1553
+ /**
1554
+ * @return {number}
1555
+ * @nosideeffects
1556
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate
1557
+ */
1558
+ Date.prototype.getDate = function() {};
1559
+
1560
+ /**
1561
+ * @return {number}
1562
+ * @nosideeffects
1563
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay
1564
+ */
1565
+ Date.prototype.getDay = function() {};
1566
+
1567
+ /**
1568
+ * @return {number}
1569
+ * @nosideeffects
1570
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth
1571
+ */
1572
+ Date.prototype.getMonth = function() {};
1573
+
1574
+ /**
1575
+ * @return {number}
1576
+ * @nosideeffects
1577
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear
1578
+ */
1579
+ Date.prototype.getFullYear = function() {};
1580
+
1581
+ /**
1582
+ * @return {number}
1583
+ * @nosideeffects
1584
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear
1585
+ */
1586
+ Date.prototype.getYear = function() {};
1587
+
1588
+ /**
1589
+ * @return {number}
1590
+ * @nosideeffects
1591
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours
1592
+ */
1593
+ Date.prototype.getHours = function() {};
1594
+
1595
+ /**
1596
+ * @return {number}
1597
+ * @nosideeffects
1598
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes
1599
+ */
1600
+ Date.prototype.getMinutes = function() {};
1601
+
1602
+ /**
1603
+ * @return {number}
1604
+ * @nosideeffects
1605
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds
1606
+ */
1607
+ Date.prototype.getSeconds = function() {};
1608
+
1609
+ /**
1610
+ * @return {number}
1611
+ * @nosideeffects
1612
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds
1613
+ */
1614
+ Date.prototype.getMilliseconds = function() {};
1615
+
1616
+ /**
1617
+ * @return {number}
1618
+ * @nosideeffects
1619
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime
1620
+ */
1621
+ Date.prototype.getTime = function() {};
1622
+
1623
+ /**
1624
+ * @return {number}
1625
+ * @nosideeffects
1626
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset
1627
+ */
1628
+ Date.prototype.getTimezoneOffset = function() {};
1629
+
1630
+ /**
1631
+ * @return {number}
1632
+ * @nosideeffects
1633
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate
1634
+ */
1635
+ Date.prototype.getUTCDate = function() {};
1636
+
1637
+ /**
1638
+ * @return {number}
1639
+ * @nosideeffects
1640
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay
1641
+ */
1642
+ Date.prototype.getUTCDay = function() {};
1643
+
1644
+ /**
1645
+ * @return {number}
1646
+ * @nosideeffects
1647
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth
1648
+ */
1649
+ Date.prototype.getUTCMonth = function() {};
1650
+
1651
+ /**
1652
+ * @return {number}
1653
+ * @nosideeffects
1654
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear
1655
+ */
1656
+ Date.prototype.getUTCFullYear = function() {};
1657
+
1658
+ /**
1659
+ * @return {number}
1660
+ * @nosideeffects
1661
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours
1662
+ */
1663
+ Date.prototype.getUTCHours = function() {};
1664
+
1665
+ /**
1666
+ * @return {number}
1667
+ * @nosideeffects
1668
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes
1669
+ */
1670
+ Date.prototype.getUTCMinutes = function() {};
1671
+
1672
+ /**
1673
+ * @return {number}
1674
+ * @nosideeffects
1675
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds
1676
+ */
1677
+ Date.prototype.getUTCSeconds = function() {};
1678
+
1679
+ /**
1680
+ * @return {number}
1681
+ * @nosideeffects
1682
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds
1683
+ */
1684
+ Date.prototype.getUTCMilliseconds = function() {};
1685
+
1686
+ /**
1687
+ * Sets the day of the month for a specified date according to local time.
1688
+ *
1689
+ * @param {number} dayValue
1690
+ * @modifies {this}
1691
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate
1692
+ * @return {number}
1693
+ */
1694
+ Date.prototype.setDate = function(dayValue) {};
1695
+
1696
+ /**
1697
+ * Set the month for a specified date according to local time.
1698
+ *
1699
+ * @param {number} monthValue
1700
+ * @param {number=} opt_dayValue
1701
+ * @modifies {this}
1702
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth
1703
+ * @return {number}
1704
+ */
1705
+ Date.prototype.setMonth = function(monthValue, opt_dayValue) {};
1706
+
1707
+ /**
1708
+ * Sets the full year for a specified date according to local time.
1709
+ *
1710
+ * @param {number} yearValue
1711
+ * @param {number=} opt_monthValue
1712
+ * @param {number=} opt_dayValue
1713
+ * @modifies {this}
1714
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear
1715
+ * @return {number}
1716
+ */
1717
+ Date.prototype.setFullYear =
1718
+ function(yearValue, opt_monthValue, opt_dayValue) {};
1719
+
1720
+ /**
1721
+ * Sets the year for a specified date according to local time.
1722
+ *
1723
+ * @param {number} yearValue
1724
+ * @deprecated
1725
+ * @modifies {this}
1726
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setYear
1727
+ * @return {number}
1728
+ */
1729
+ Date.prototype.setYear = function(yearValue) {};
1730
+
1731
+ /**
1732
+ * Sets the hours for a specified date according to local time.
1733
+ *
1734
+ * @param {number} hoursValue
1735
+ * @param {number=} opt_minutesValue
1736
+ * @param {number=} opt_secondsValue
1737
+ * @param {number=} opt_msValue
1738
+ * @modifies {this}
1739
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours
1740
+ * @return {number}
1741
+ */
1742
+ Date.prototype.setHours = function(hoursValue, opt_minutesValue,
1743
+ opt_secondsValue, opt_msValue) {};
1744
+
1745
+ /**
1746
+ * Sets the minutes for a specified date according to local time.
1747
+ *
1748
+ * @param {number} minutesValue
1749
+ * @param {number=} opt_secondsValue
1750
+ * @param {number=} opt_msValue
1751
+ * @modifies {this}
1752
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes
1753
+ * @return {number}
1754
+ */
1755
+ Date.prototype.setMinutes =
1756
+ function(minutesValue, opt_secondsValue, opt_msValue) {};
1757
+
1758
+ /**
1759
+ * Sets the seconds for a specified date according to local time.
1760
+ *
1761
+ * @param {number} secondsValue
1762
+ * @param {number=} opt_msValue
1763
+ * @modifies {this}
1764
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds
1765
+ * @return {number}
1766
+ */
1767
+ Date.prototype.setSeconds = function(secondsValue, opt_msValue) {};
1768
+
1769
+ /**
1770
+ * Sets the milliseconds for a specified date according to local time.
1771
+ *
1772
+ * @param {number} millisecondsValue
1773
+ * @modifies {this}
1774
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds
1775
+ * @return {number}
1776
+ */
1777
+ Date.prototype.setMilliseconds = function(millisecondsValue) {};
1778
+
1779
+ /**
1780
+ * Sets the Date object to the time represented by a number of milliseconds
1781
+ * since January 1, 1970, 00:00:00 UTC.
1782
+ *
1783
+ * @param {number} timeValue
1784
+ * @modifies {this}
1785
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime
1786
+ * @return {number}
1787
+ */
1788
+ Date.prototype.setTime = function(timeValue) {};
1789
+
1790
+ /**
1791
+ * Sets the day of the month for a specified date according to universal time.
1792
+ *
1793
+ * @param {number} dayValue
1794
+ * @modifies {this}
1795
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate
1796
+ * @return {number}
1797
+ */
1798
+ Date.prototype.setUTCDate = function(dayValue) {};
1799
+
1800
+ /**
1801
+ * Sets the month for a specified date according to universal time.
1802
+ *
1803
+ * @param {number} monthValue
1804
+ * @param {number=} opt_dayValue
1805
+ * @modifies {this}
1806
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth
1807
+ * @return {number}
1808
+ */
1809
+ Date.prototype.setUTCMonth = function(monthValue, opt_dayValue) {};
1810
+
1811
+ /**
1812
+ * Sets the full year for a specified date according to universal time.
1813
+ *
1814
+ * @param {number} yearValue
1815
+ * @param {number=} opt_monthValue
1816
+ * @param {number=} opt_dayValue
1817
+ * @modifies {this}
1818
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear
1819
+ * @return {number}
1820
+ */
1821
+ Date.prototype.setUTCFullYear = function(yearValue, opt_monthValue,
1822
+ opt_dayValue) {};
1823
+
1824
+ /**
1825
+ * Sets the hour for a specified date according to universal time.
1826
+ *
1827
+ * @param {number} hoursValue
1828
+ * @param {number=} opt_minutesValue
1829
+ * @param {number=} opt_secondsValue
1830
+ * @param {number=} opt_msValue
1831
+ * @modifies {this}
1832
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours
1833
+ * @return {number}
1834
+ */
1835
+ Date.prototype.setUTCHours = function(hoursValue, opt_minutesValue,
1836
+ opt_secondsValue, opt_msValue) {};
1837
+
1838
+ /**
1839
+ * Sets the minutes for a specified date according to universal time.
1840
+ *
1841
+ * @param {number} minutesValue
1842
+ * @param {number=} opt_secondsValue
1843
+ * @param {number=} opt_msValue
1844
+ * @modifies {this}
1845
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes
1846
+ * @return {number}
1847
+ */
1848
+ Date.prototype.setUTCMinutes = function(minutesValue, opt_secondsValue,
1849
+ opt_msValue) {};
1850
+
1851
+
1852
+ /**
1853
+ * Sets the seconds for a specified date according to universal time.
1854
+ *
1855
+ * @param {number} secondsValue
1856
+ * @param {number=} opt_msValue
1857
+ * @modifies {this}
1858
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds
1859
+ * @return {number}
1860
+ */
1861
+ Date.prototype.setUTCSeconds = function(secondsValue, opt_msValue) {};
1862
+
1863
+ /**
1864
+ * Sets the milliseconds for a specified date according to universal time.
1865
+ *
1866
+ * @param {number} millisecondsValue
1867
+ * @modifies {this}
1868
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds
1869
+ * @return {number}
1870
+ */
1871
+ Date.prototype.setUTCMilliseconds = function(millisecondsValue) {};
1872
+
1873
+ /**
1874
+ * @return {string}
1875
+ * @nosideeffects
1876
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toSource
1877
+ * @override
1878
+ */
1879
+ Date.prototype.toSource = function() {};
1880
+
1881
+ /**
1882
+ * @return {string}
1883
+ * @nosideeffects
1884
+ * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateString
1885
+ */
1886
+ Date.prototype.toDateString = function() {};
1887
+
1888
+ /**
1889
+ * @return {string}
1890
+ * @nosideeffects
1891
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toGMTString
1892
+ */
1893
+ Date.prototype.toGMTString = function() {};
1894
+
1895
+ /**
1896
+ * @return {string}
1897
+ * @nosideeffects
1898
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString
1899
+ */
1900
+ Date.prototype.toTimeString = function() {};
1901
+
1902
+ /**
1903
+ * @return {string}
1904
+ * @nosideeffects
1905
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString
1906
+ */
1907
+ Date.prototype.toUTCString = function() {};
1908
+
1909
+ /**
1910
+ * @param {(string|Array<string>)=} opt_locales
1911
+ * @param {Object=} opt_options
1912
+ * @return {string}
1913
+ * @nosideeffects
1914
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString
1915
+ */
1916
+ Date.prototype.toLocaleDateString = function(opt_locales, opt_options) {};
1917
+
1918
+ /**
1919
+ * @param {string} formatString
1920
+ * @return {string}
1921
+ * @nosideeffects
1922
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat
1923
+ */
1924
+ Date.prototype.toLocaleFormat = function(formatString) {};
1925
+
1926
+ /**
1927
+ * @param {string|Array<string>=} opt_locales
1928
+ * @param {Object=} opt_options
1929
+ * @return {string}
1930
+ * @nosideeffects
1931
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString
1932
+ * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.3.1
1933
+ * @override
1934
+ */
1935
+ Date.prototype.toLocaleString = function(opt_locales, opt_options) {};
1936
+
1937
+ /**
1938
+ * @param {(string|Array<string>)=} opt_locales
1939
+ * @param {Object=} opt_options
1940
+ * @return {string}
1941
+ * @nosideeffects
1942
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString
1943
+ */
1944
+ Date.prototype.toLocaleTimeString = function(opt_locales, opt_options) {};
1945
+
1946
+ /**
1947
+ * @this {Date}
1948
+ * @return {string}
1949
+ * @nosideeffects
1950
+ * @override
1951
+ */
1952
+ Date.prototype.toString = function() {};
1953
+
1954
+ /**
1955
+ * @return {number}
1956
+ * @nosideeffects
1957
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf
1958
+ */
1959
+ Date.prototype.valueOf;
1960
+
1961
+ /**
1962
+ * @constructor
1963
+ * @implements {Iterable<string>}
1964
+ * @param {*=} opt_str
1965
+ * @return {string}
1966
+ * @nosideeffects
1967
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
1968
+ */
1969
+ function String(opt_str) {}
1970
+
1971
+ /**
1972
+ * @param {...number} var_args
1973
+ * @return {string}
1974
+ * @nosideeffects
1975
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
1976
+ */
1977
+ String.fromCharCode = function(var_args) {};
1978
+
1979
+ /**
1980
+ * @this {String|string}
1981
+ * @return {string}
1982
+ * @nosideeffects
1983
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor
1984
+ */
1985
+ String.prototype.anchor = function() {};
1986
+
1987
+ /**
1988
+ * @this {String|string}
1989
+ * @return {string}
1990
+ * @nosideeffects
1991
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/big
1992
+ */
1993
+ String.prototype.big = function() {};
1994
+
1995
+ /**
1996
+ * @this {String|string}
1997
+ * @return {string}
1998
+ * @nosideeffects
1999
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/blink
2000
+ */
2001
+ String.prototype.blink = function() {};
2002
+
2003
+ /**
2004
+ * @this {String|string}
2005
+ * @return {string}
2006
+ * @nosideeffects
2007
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/bold
2008
+ */
2009
+ String.prototype.bold = function() {};
2010
+
2011
+ /**
2012
+ * Returns the specified character from a string.
2013
+ *
2014
+ * @this {String|string}
2015
+ * @param {number} index
2016
+ * @return {string}
2017
+ * @nosideeffects
2018
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt
2019
+ */
2020
+ String.prototype.charAt = function(index) {};
2021
+
2022
+ /**
2023
+ * Returns a number indicating the Unicode value of the character at the given
2024
+ * index.
2025
+ *
2026
+ * @this {String|string}
2027
+ * @param {number=} opt_index
2028
+ * @return {number}
2029
+ * @nosideeffects
2030
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
2031
+ */
2032
+ String.prototype.charCodeAt = function(opt_index) {};
2033
+
2034
+ /**
2035
+ * Combines the text of two or more strings and returns a new string.
2036
+ *
2037
+ * @this {String|string}
2038
+ * @param {...*} var_args
2039
+ * @return {string}
2040
+ * @nosideeffects
2041
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat
2042
+ */
2043
+ String.prototype.concat = function(var_args) {};
2044
+
2045
+ /**
2046
+ * @this {String|string}
2047
+ * @return {string}
2048
+ * @nosideeffects
2049
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fixed
2050
+ */
2051
+ String.prototype.fixed = function() {};
2052
+
2053
+ /**
2054
+ * @this {String|string}
2055
+ * @param {string} color
2056
+ * @return {string}
2057
+ * @nosideeffects
2058
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontcolor
2059
+ */
2060
+ String.prototype.fontcolor = function(color) {};
2061
+
2062
+ /**
2063
+ * @this {String|string}
2064
+ * @param {number} size
2065
+ * @return {string}
2066
+ * @nosideeffects
2067
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontsize
2068
+ */
2069
+ String.prototype.fontsize = function(size) {};
2070
+
2071
+ /**
2072
+ * Returns the index within the calling String object of the first occurrence
2073
+ * of the specified value, starting the search at fromIndex, returns -1 if the
2074
+ * value is not found.
2075
+ *
2076
+ * @this {String|string}
2077
+ * @param {string|null} searchValue
2078
+ * @param {(number|null)=} opt_fromIndex
2079
+ * @return {number}
2080
+ * @nosideeffects
2081
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
2082
+ */
2083
+ String.prototype.indexOf = function(searchValue, opt_fromIndex) {};
2084
+
2085
+ /**
2086
+ * @this {String|string}
2087
+ * @return {string}
2088
+ * @nosideeffects
2089
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/italics
2090
+ */
2091
+ String.prototype.italics = function() {};
2092
+
2093
+ /**
2094
+ * Returns the index within the calling String object of the last occurrence of
2095
+ * the specified value, or -1 if not found. The calling string is searched
2096
+ * backward, starting at fromIndex.
2097
+ *
2098
+ * @this {String|string}
2099
+ * @param {string|null} searchValue
2100
+ * @param {(number|null)=} opt_fromIndex
2101
+ * @return {number}
2102
+ * @nosideeffects
2103
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf
2104
+ */
2105
+ String.prototype.lastIndexOf = function(searchValue, opt_fromIndex) {};
2106
+
2107
+ /**
2108
+ * @this {String|string}
2109
+ * @param {string} hrefAttribute
2110
+ * @return {string}
2111
+ * @nosideeffects
2112
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link
2113
+ */
2114
+ String.prototype.link = function(hrefAttribute) {};
2115
+
2116
+ /**
2117
+ * Returns a number indicating whether a reference string comes before or after
2118
+ * or is the same as the given string in sort order.
2119
+ *
2120
+ * @this {*}
2121
+ * @param {?string} compareString
2122
+ * @param {string|Array<string>=} locales
2123
+ * @param {Object=} options
2124
+ * @return {number}
2125
+ * @nosideeffects
2126
+ * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/String/localeCompare
2127
+ * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.1.1
2128
+ */
2129
+ String.prototype.localeCompare = function(compareString, locales, options) {};
2130
+
2131
+ /**
2132
+ * Used to retrieve the matches when matching a string against a regular
2133
+ * expression.
2134
+ *
2135
+ * @this {String|string}
2136
+ * @param {*} regexp
2137
+ * @return {RegExpResult} This should really return an Array with a few
2138
+ * special properties, but we do not have a good way to model this in
2139
+ * our type system. Also see Regexp.prototype.exec.
2140
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match
2141
+ */
2142
+ String.prototype.match = function(regexp) {};
2143
+
2144
+ /**
2145
+ * @this {String|string}
2146
+ * @return {string}
2147
+ * @nosideeffects
2148
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/quote
2149
+ */
2150
+ String.prototype.quote = function() {};
2151
+
2152
+ /**
2153
+ * Finds a match between a regular expression and a string, and replaces the
2154
+ * matched substring with a new substring.
2155
+ *
2156
+ * This may have side-effects if the replacement function has side-effects.
2157
+ *
2158
+ * @this {String|string}
2159
+ * @param {RegExp|string} pattern
2160
+ * @param {?string|function(string, ...?):*} replacement
2161
+ * @return {string}
2162
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
2163
+ */
2164
+ String.prototype.replace = function(pattern, replacement) {};
2165
+
2166
+ /**
2167
+ * Executes the search for a match between a regular expression and this String
2168
+ * object.
2169
+ *
2170
+ * @this {String|string}
2171
+ * @param {RegExp|string} pattern
2172
+ * @return {number}
2173
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search
2174
+ */
2175
+ String.prototype.search = function(pattern) {};
2176
+
2177
+ /**
2178
+ * @this {String|string}
2179
+ * @param {number} begin
2180
+ * @param {number=} opt_end
2181
+ * @return {string}
2182
+ * @nosideeffects
2183
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice
2184
+ */
2185
+ String.prototype.slice = function(begin, opt_end) {};
2186
+
2187
+ /**
2188
+ * @this {String|string}
2189
+ * @return {string}
2190
+ * @nosideeffects
2191
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/small
2192
+ */
2193
+ String.prototype.small = function() {};
2194
+
2195
+ /**
2196
+ * @this {String|string}
2197
+ * @param {*=} opt_separator
2198
+ * @param {number=} opt_limit
2199
+ * @return {!Array<string>}
2200
+ * @nosideeffects
2201
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
2202
+ */
2203
+ String.prototype.split = function(opt_separator, opt_limit) {};
2204
+
2205
+ /**
2206
+ * @return {string}
2207
+ * @nosideeffects
2208
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/strike
2209
+ */
2210
+ String.prototype.strike = function() {};
2211
+
2212
+ /**
2213
+ * @this {String|string}
2214
+ * @return {string}
2215
+ * @nosideeffects
2216
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sub
2217
+ */
2218
+ String.prototype.sub = function() {};
2219
+
2220
+ /**
2221
+ * @this {String|string}
2222
+ * @param {number} start
2223
+ * @param {number=} opt_length
2224
+ * @return {string} The specified substring.
2225
+ * @nosideeffects
2226
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr
2227
+ */
2228
+ String.prototype.substr = function(start, opt_length) {};
2229
+
2230
+ /**
2231
+ * @this {String|string}
2232
+ * @param {number} start
2233
+ * @param {number=} opt_end
2234
+ * @return {string} The specified substring.
2235
+ * @nosideeffects
2236
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring
2237
+ */
2238
+ String.prototype.substring = function(start, opt_end) {};
2239
+
2240
+ /**
2241
+ * @this {String|string}
2242
+ * @return {string}
2243
+ * @nosideeffects
2244
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sup
2245
+ */
2246
+ String.prototype.sup = function() {};
2247
+
2248
+ /**
2249
+ * @this {String|string}
2250
+ * @param {(string|Array<string>)=} opt_locales
2251
+ * @return {string}
2252
+ * @nosideeffects
2253
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase
2254
+ */
2255
+ String.prototype.toLocaleUpperCase = function(opt_locales) {};
2256
+
2257
+ /**
2258
+ * @this {String|string}
2259
+ * @param {(string|Array<string>)=} opt_locales
2260
+ * @return {string}
2261
+ * @nosideeffects
2262
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase
2263
+ */
2264
+ String.prototype.toLocaleLowerCase = function(opt_locales) {};
2265
+
2266
+ /**
2267
+ * @this {String|string}
2268
+ * @return {string}
2269
+ * @nosideeffects
2270
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase
2271
+ */
2272
+ String.prototype.toLowerCase = function() {};
2273
+
2274
+ /**
2275
+ * @this {String|string}
2276
+ * @return {string}
2277
+ * @nosideeffects
2278
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase
2279
+ */
2280
+ String.prototype.toUpperCase = function() {};
2281
+
2282
+ /**
2283
+ * @return {string}
2284
+ * @nosideeffects
2285
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toSource
2286
+ * @override
2287
+ */
2288
+ String.prototype.toSource = function() {};
2289
+
2290
+ /**
2291
+ * @this {string|String}
2292
+ * @return {string}
2293
+ * @nosideeffects
2294
+ * @override
2295
+ */
2296
+ String.prototype.toString = function() {};
2297
+
2298
+ /**
2299
+ * @return {string}
2300
+ * @nosideeffects
2301
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/valueOf
2302
+ */
2303
+ String.prototype.valueOf;
2304
+
2305
+ /**
2306
+ * @type {number}
2307
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length
2308
+ */
2309
+ String.prototype.length;
2310
+
2311
+ /**
2312
+ * @constructor
2313
+ * @param {*=} opt_pattern
2314
+ * @param {*=} opt_flags
2315
+ * @return {!RegExp}
2316
+ * @throws {SyntaxError} if opt_pattern is an invalid pattern.
2317
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2318
+ */
2319
+ function RegExp(opt_pattern, opt_flags) {}
2320
+
2321
+ /**
2322
+ * @param {*} pattern
2323
+ * @param {*=} opt_flags
2324
+ * @return {void}
2325
+ * @modifies {this}
2326
+ * @deprecated
2327
+ * @see http://msdn.microsoft.com/en-us/library/x9cswe0z(v=VS.85).aspx
2328
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/compile
2329
+ */
2330
+ RegExp.prototype.compile = function(pattern, opt_flags) {};
2331
+
2332
+ /**
2333
+ * @param {*} str The string to search.
2334
+ * @return {?RegExpResult}
2335
+ * @see http://msdn.microsoft.com/en-us/library/z908hy33(VS.85).aspx
2336
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec
2337
+ */
2338
+ RegExp.prototype.exec = function(str) {};
2339
+
2340
+ /**
2341
+ * @param {*} str The string to search.
2342
+ * @return {boolean} Whether the string was matched.
2343
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
2344
+ */
2345
+ RegExp.prototype.test = function(str) {};
2346
+
2347
+ /**
2348
+ * @this {RegExp}
2349
+ * @return {string}
2350
+ * @nosideeffects
2351
+ * @override
2352
+ */
2353
+ RegExp.prototype.toString = function() {};
2354
+
2355
+ /**
2356
+ * @constructor
2357
+ * @extends {Array<string>}
2358
+ */
2359
+ var RegExpResult = function() {};
2360
+
2361
+
2362
+ /** @type {number} */
2363
+ RegExpResult.prototype.index;
2364
+
2365
+
2366
+ /** @type {string} */
2367
+ RegExpResult.prototype.input;
2368
+
2369
+
2370
+ /** @type {number} */
2371
+ RegExpResult.prototype.length;
2372
+
2373
+
2374
+ /**
2375
+ * Not actually part of ES3; was added in 2018.
2376
+ * https://github.com/tc39/proposal-regexp-named-groups
2377
+ *
2378
+ * @type {!Object<string, string>}
2379
+ */
2380
+ RegExpResult.prototype.groups;
2381
+
2382
+
2383
+ /**
2384
+ * Not actually part of ES3; was added in 2022.
2385
+ * https://github.com/tc39/proposal-regexp-match-indices
2386
+ *
2387
+ * @constructor
2388
+ * @extends {Array<!Array<number>|undefined>}
2389
+ */
2390
+ var RegExpResultIndices = function() {};
2391
+
2392
+
2393
+ /** @type {!Object<string, !Array<number>|undefined>} */
2394
+ RegExpResultIndices.prototype.groups;
2395
+
2396
+
2397
+ /** @type {!RegExpResultIndices} */
2398
+ RegExpResult.prototype.indices;
2399
+
2400
+
2401
+ // Constructor properties:
2402
+
2403
+ /**
2404
+ * The string against which the last regexp was matched.
2405
+ * @type {string}
2406
+ * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_input.html
2407
+ */
2408
+ RegExp.input;
2409
+
2410
+ /**
2411
+ * The last matched characters.
2412
+ * @type {string}
2413
+ * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastMatch.html
2414
+ */
2415
+ RegExp.lastMatch;
2416
+
2417
+ /**
2418
+ * The last matched parenthesized substring, if any.
2419
+ * @type {string}
2420
+ * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastParen.html
2421
+ */
2422
+ RegExp.lastParen;
2423
+
2424
+ /**
2425
+ * The substring of the input up to the characters most recently matched.
2426
+ * @type {string}
2427
+ * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_leftContext.html
2428
+ */
2429
+ RegExp.leftContext;
2430
+
2431
+ /**
2432
+ * The substring of the input after the characters most recently matched.
2433
+ * @type {string}
2434
+ * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_rightContext.html
2435
+ */
2436
+ RegExp.rightContext;
2437
+
2438
+ /**
2439
+ * @type {string}
2440
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2441
+ */
2442
+ RegExp.$1;
2443
+ /**
2444
+ * @type {string}
2445
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2446
+ */
2447
+ RegExp.$2;
2448
+ /**
2449
+ * @type {string}
2450
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2451
+ */
2452
+ RegExp.$3;
2453
+ /**
2454
+ * @type {string}
2455
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2456
+ */
2457
+ RegExp.$4;
2458
+ /**
2459
+ * @type {string}
2460
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2461
+ */
2462
+ RegExp.$5;
2463
+ /**
2464
+ * @type {string}
2465
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2466
+ */
2467
+ RegExp.$6;
2468
+ /**
2469
+ * @type {string}
2470
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2471
+ */
2472
+ RegExp.$7;
2473
+ /**
2474
+ * @type {string}
2475
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2476
+ */
2477
+ RegExp.$8;
2478
+ /**
2479
+ * @type {string}
2480
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
2481
+ */
2482
+ RegExp.$9;
2483
+
2484
+ // Prototype properties:
2485
+
2486
+ /**
2487
+ * Whether to test the regular expression against all possible matches
2488
+ * in a string, or only against the first.
2489
+ * @type {boolean}
2490
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/global
2491
+ */
2492
+ RegExp.prototype.global;
2493
+
2494
+ /**
2495
+ * The dotAll property indicates whether or not the "s" flag is used with the regular expression.
2496
+ *
2497
+ * @type {boolean}
2498
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/dotAll
2499
+ */
2500
+ RegExp.prototype.dotAll;
2501
+
2502
+ /**
2503
+ * Whether to ignore case while attempting a match in a string.
2504
+ * @type {boolean}
2505
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase
2506
+ */
2507
+ RegExp.prototype.ignoreCase;
2508
+
2509
+ /**
2510
+ * The index at which to start the next match.
2511
+ * @type {number}
2512
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastIndex
2513
+ */
2514
+ RegExp.prototype.lastIndex;
2515
+
2516
+ /**
2517
+ * Whether or not the regular expression uses lastIndex.
2518
+ * @type {boolean}
2519
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/sticky
2520
+ */
2521
+ RegExp.prototype.sticky;
2522
+
2523
+ /**
2524
+ * Whether or not to search in strings across multiple lines.
2525
+ * @type {boolean}
2526
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/multiline
2527
+ */
2528
+ RegExp.prototype.multiline;
2529
+
2530
+ /**
2531
+ * The text of the pattern.
2532
+ * @type {string}
2533
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source
2534
+ */
2535
+ RegExp.prototype.source;
2536
+
2537
+ /**
2538
+ * The flags the regex was created with.
2539
+ * @type {string}
2540
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/flags
2541
+ */
2542
+ RegExp.prototype.flags;
2543
+
2544
+ /**
2545
+ * The unicode property indicates whether or not the "u" flag is used with a regular expression.
2546
+ *
2547
+ * @type {boolean}
2548
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/unicode
2549
+ */
2550
+ RegExp.prototype.unicode;
2551
+
2552
+ /**
2553
+ * @constructor
2554
+ * @param {*=} message
2555
+ * @param {*=} fileNameOrOptions
2556
+ * @param {*=} line
2557
+ * @return {!Error}
2558
+ * @nosideeffects
2559
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error
2560
+ */
2561
+ function Error(message, fileNameOrOptions, line) {}
2562
+
2563
+
2564
+ /**
2565
+ * Chrome/v8 specific, altering the maximum depth of the stack trace
2566
+ * (10 by default).
2567
+ * @type {number}
2568
+ * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
2569
+ */
2570
+ Error.stackTraceLimit;
2571
+
2572
+
2573
+ /**
2574
+ * Chrome/v8 specific, adds a stack trace to the error object. The optional
2575
+ * constructorOpt parameter allows you to pass in a function value. When
2576
+ * collecting the stack trace all frames above the topmost call to this
2577
+ * function, including that call, will be left out of the stack trace.
2578
+ * @param {Object} error The object to add the stack trace to.
2579
+ * @param {Function=} opt_constructor A function in the stack trace
2580
+ * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
2581
+ * @return {undefined}
2582
+ */
2583
+ Error.captureStackTrace = function(error, opt_constructor){};
2584
+
2585
+ /**
2586
+ * New in ES 2022, adds a cause to the error which is useful for chaining errors
2587
+ * @type {*}
2588
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause
2589
+ */
2590
+ Error.prototype.cause;
2591
+
2592
+
2593
+ /**
2594
+ * IE-only.
2595
+ * @type {string}
2596
+ * @see http://msdn.microsoft.com/en-us/library/2w6a45b5.aspx
2597
+ */
2598
+ Error.prototype.description;
2599
+
2600
+
2601
+ /**
2602
+ * Mozilla-only.
2603
+ * @type {number}
2604
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/lineNumber
2605
+ */
2606
+ Error.prototype.lineNumber;
2607
+
2608
+ /**
2609
+ * Mozilla-only
2610
+ * @type {string}
2611
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/fileName
2612
+ */
2613
+ Error.prototype.fileName;
2614
+
2615
+ /**
2616
+ * @type {string}
2617
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/name
2618
+ */
2619
+ Error.prototype.name;
2620
+
2621
+ /**
2622
+ * @type {string}
2623
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/message
2624
+ */
2625
+ Error.prototype.message;
2626
+
2627
+ /**
2628
+ * Doesn't seem to exist, but closure/debug.js references it.
2629
+ */
2630
+ Error.prototype.sourceURL;
2631
+
2632
+ /** @type {string} */
2633
+ Error.prototype.stack;
2634
+
2635
+
2636
+ /**
2637
+ * @constructor
2638
+ * @extends {Error}
2639
+ * @param {*=} message
2640
+ * @param {*=} fileNameOrOptions
2641
+ * @param {*=} line
2642
+ * @return {!EvalError}
2643
+ * @nosideeffects
2644
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError
2645
+ */
2646
+ function EvalError(message, fileNameOrOptions, line) {}
2647
+
2648
+ /**
2649
+ * @constructor
2650
+ * @extends {Error}
2651
+ * @param {*=} message
2652
+ * @param {*=} fileNameOrOptions
2653
+ * @param {*=} line
2654
+ * @return {!RangeError}
2655
+ * @nosideeffects
2656
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError
2657
+ */
2658
+ function RangeError(message, fileNameOrOptions, line) {}
2659
+
2660
+ /**
2661
+ * @constructor
2662
+ * @extends {Error}
2663
+ * @param {*=} message
2664
+ * @param {*=} fileNameOrOptions
2665
+ * @param {*=} line
2666
+ * @return {!ReferenceError}
2667
+ * @nosideeffects
2668
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError
2669
+ */
2670
+ function ReferenceError(message, fileNameOrOptions, line) {}
2671
+
2672
+ /**
2673
+ * @constructor
2674
+ * @extends {Error}
2675
+ * @param {*=} message
2676
+ * @param {*=} fileNameOrOptions
2677
+ * @param {*=} line
2678
+ * @return {!SyntaxError}
2679
+ * @nosideeffects
2680
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError
2681
+ */
2682
+ function SyntaxError(message, fileNameOrOptions, line) {}
2683
+
2684
+ /**
2685
+ * @constructor
2686
+ * @extends {Error}
2687
+ * @param {*=} message
2688
+ * @param {*=} fileNameOrOptions
2689
+ * @param {*=} line
2690
+ * @return {!TypeError}
2691
+ * @nosideeffects
2692
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError
2693
+ */
2694
+ function TypeError(message, fileNameOrOptions, line) {}
2695
+
2696
+ /**
2697
+ * @constructor
2698
+ * @extends {Error}
2699
+ * @param {*=} message
2700
+ * @param {*=} fileNameOrOptions
2701
+ * @param {*=} line
2702
+ * @return {!URIError}
2703
+ * @nosideeffects
2704
+ * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError
2705
+ */
2706
+ function URIError(message, fileNameOrOptions, line) {}
2707
+
2708
+ // JScript extensions.
2709
+ // @see http://msdn.microsoft.com/en-us/library/894hfyb4(VS.80).aspx
2710
+
2711
+ /**
2712
+ * @see http://msdn.microsoft.com/en-us/library/7sw4ddf8.aspx
2713
+ * @type {function(new:?, string, string=)}
2714
+ * @deprecated
2715
+ */
2716
+ function ActiveXObject(progId, opt_location) {}