google-closure-compiler 20260712.0.0 → 20260719.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.
@@ -1629,7 +1629,7 @@ Window.prototype.importScripts = function(urls) {};
1629
1629
  *
1630
1630
  * @param {string} encodedData
1631
1631
  * @return {string}
1632
- * @nosideeffects
1632
+ * @throws {DOMException}
1633
1633
  * @see https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob
1634
1634
  */
1635
1635
  function atob(encodedData) {}
@@ -1637,7 +1637,7 @@ function atob(encodedData) {}
1637
1637
  /**
1638
1638
  * @param {string} stringToEncode
1639
1639
  * @return {string}
1640
- * @nosideeffects
1640
+ * @throws {DOMException}
1641
1641
  * @see https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa
1642
1642
  */
1643
1643
  function btoa(stringToEncode) {}
@@ -269,7 +269,7 @@ var IDBTransactionOptions = function() {};
269
269
  IDBTransactionOptions.prototype.durability;
270
270
 
271
271
  /**
272
- * @param {(string|!Array<string>|!DOMStringList)} storeNames The stores to open
272
+ * @param {(string|!Array<string>|!Iterable<string>|!DOMStringList)} storeNames The stores to open
273
273
  * in this transaction.
274
274
  * @param {!IDBTransactionMode=} mode The mode for opening the object stores.
275
275
  * @param {!IDBTransactionOptions=} options Extra options, like durability.
@@ -395,7 +395,7 @@ IDBObjectStore.prototype.openCursor = function(range, direction) {};
395
395
 
396
396
  /**
397
397
  * @param {string} name The name of the index.
398
- * @param {string|!Array<string>} keyPath The path to the index key.
398
+ * @param {string|!Array<string>|!Iterable<string>} keyPath The path to the index key.
399
399
  * @param {!IDBIndexParameters=} opt_paramters Optional parameters
400
400
  * for the created index.
401
401
  * @return {!IDBIndex} The IDBIndex object.
@@ -41,93 +41,19 @@ var MIDIOptions;
41
41
 
42
42
  /**
43
43
  * @interface
44
+ * @extends {ReadonlyMap<string, !MIDIInput>}
44
45
  */
45
46
  var MIDIInputMap = function() {};
46
47
 
47
48
 
48
- /**
49
- * @const {number}
50
- */
51
- MIDIInputMap.prototype.size;
52
-
53
-
54
- /**
55
- * @param {function(string)} iterator
56
- */
57
- MIDIInputMap.prototype.keys = function(iterator) {};
58
-
59
-
60
- /**
61
- * @param {function(!Array.<*>)} iterator
62
- */
63
- MIDIInputMap.prototype.entries = function(iterator) {};
64
-
65
-
66
- /**
67
- * @param {function(!MIDIInput)} iterator
68
- */
69
- MIDIInputMap.prototype.values = function(iterator) {};
70
-
71
-
72
- /**
73
- * @param {string} key
74
- * @return {!MIDIInput}
75
- */
76
- MIDIInputMap.prototype.get = function(key) {};
77
-
78
-
79
- /**
80
- * @param {string} key
81
- * @return {boolean}
82
- */
83
- MIDIInputMap.prototype.has = function(key) {};
84
-
85
-
86
49
 
87
50
  /**
88
51
  * @interface
52
+ * @extends {ReadonlyMap<string, !MIDIOutput>}
89
53
  */
90
54
  var MIDIOutputMap = function() {};
91
55
 
92
56
 
93
- /**
94
- * @const {number}
95
- */
96
- MIDIOutputMap.prototype.size;
97
-
98
-
99
- /**
100
- * @param {function(string)} iterator
101
- */
102
- MIDIOutputMap.prototype.keys = function(iterator) {};
103
-
104
-
105
- /**
106
- * @param {function(!Array.<*>)} iterator
107
- */
108
- MIDIOutputMap.prototype.entries = function(iterator) {};
109
-
110
-
111
- /**
112
- * @param {function(!MIDIOutput)} iterator
113
- */
114
- MIDIOutputMap.prototype.values = function(iterator) {};
115
-
116
-
117
- /**
118
- * @param {string} key
119
- * @return {!MIDIOutput}
120
- */
121
- MIDIOutputMap.prototype.get = function(key) {};
122
-
123
-
124
- /**
125
- * @param {string} key
126
- * @return {boolean}
127
- */
128
- MIDIOutputMap.prototype.has = function(key) {};
129
-
130
-
131
57
 
132
58
  /**
133
59
  * @interface
@@ -27,6 +27,9 @@
27
27
  * @externs
28
28
  */
29
29
 
30
+ /** @typedef {number} */
31
+ var DOMHighResTimeStamp;
32
+
30
33
  /** @constructor */
31
34
  function PerformanceTiming() {}
32
35
  /** @type {number} */ PerformanceTiming.prototype.navigationStart;
@@ -104,7 +107,7 @@ function PerformanceServerTiming() {}
104
107
  * See https://w3c.github.io/navigation-timing/#sec-performance-navigation-types
105
108
  * @typedef {string}
106
109
  */
107
- var NavigationType;
110
+ var NavigationTimingType;
108
111
 
109
112
  /**
110
113
  * https://w3c.github.io/navigation-timing/#sec-PerformanceNavigationTiming
@@ -122,7 +125,7 @@ function PerformanceNavigationTiming() {}
122
125
  /** @type {number} */ PerformanceNavigationTiming.prototype.domComplete;
123
126
  /** @type {number} */ PerformanceNavigationTiming.prototype.loadEventStart;
124
127
  /** @type {number} */ PerformanceNavigationTiming.prototype.loadEventEnd;
125
- /** @type {NavigationType} */ PerformanceNavigationTiming.prototype.type;
128
+ /** @type {NavigationTimingType} */ PerformanceNavigationTiming.prototype.type;
126
129
  /** @type {number} */ PerformanceNavigationTiming.prototype.redirectCount;
127
130
  // https://wicg.github.io/nav-speculation/prerendering.html#performance-navigation-timing-extension
128
131
  /** @type {number} */ PerformanceNavigationTiming.prototype.activationStart;
@@ -133,6 +136,19 @@ function PerformanceNavigationTiming() {}
133
136
  * @extends {PerformanceEntry}
134
137
  */
135
138
  function PerformancePaintTiming() {}
139
+ // from PaintTimingMixin
140
+ /** @type {!DOMHighResTimeStamp} */ PerformancePaintTiming.prototype.paintTime;
141
+ /** @type {!DOMHighResTimeStamp|null} */ PerformancePaintTiming.prototype
142
+ .presentationTime;
143
+
144
+ /**
145
+ * Differing from TS .d.ts definition (which has 0 parameters) to match
146
+ * Object.prototype.toJSON(opt_key) in es5.js.
147
+ * @override
148
+ * @param {*=} opt_key
149
+ * @return {*}
150
+ */
151
+ PerformancePaintTiming.prototype.toJSON = function(opt_key) {};
136
152
 
137
153
  /** @constructor */
138
154
  function PerformanceNavigation() {}
@@ -199,6 +215,10 @@ function LargestContentfulPaint() {}
199
215
  /** @type {string} */ LargestContentfulPaint.prototype.id;
200
216
  /** @type {string} */ LargestContentfulPaint.prototype.url;
201
217
  /** @type {?Element} */ LargestContentfulPaint.prototype.element;
218
+ // from PaintTimingMixin
219
+ /** @type {!DOMHighResTimeStamp} */ LargestContentfulPaint.prototype.paintTime;
220
+ /** @type {!DOMHighResTimeStamp|null} */ LargestContentfulPaint.prototype
221
+ .presentationTime;
202
222
 
203
223
  /**
204
224
  * https://wicg.github.io/event-timing/#sec-performance-event-timing
@@ -210,6 +230,7 @@ function PerformanceEventTiming() {}
210
230
  /** @type {number} */ PerformanceEventTiming.prototype.processingEnd;
211
231
  /** @type {boolean} */ PerformanceEventTiming.prototype.cancelable;
212
232
  /** @type {?Node} */ PerformanceEventTiming.prototype.target;
233
+ /** @type {number} */ PerformanceEventTiming.prototype.interactionId;
213
234
 
214
235
  /**
215
236
  * @record
@@ -232,17 +253,11 @@ function PerformanceMeasureOptions() {}
232
253
 
233
254
  /**
234
255
  * @see https://developer.mozilla.org/docs/Web/API/EventCounts
235
- * @constructor
256
+ * @interface
257
+ * @extends {ReadonlyMap<string, number>}
236
258
  */
237
259
  function EventCounts() {}
238
260
 
239
- /**
240
- * @param {function(number, string, !EventCounts): void} callback
241
- * @param {*} thisArg
242
- * @return {void}
243
- */
244
- EventCounts.prototype.forEach = function(callback, thisArg) {}
245
-
246
261
  /** @constructor */
247
262
  function Performance() {}
248
263
 
@@ -258,6 +273,8 @@ Performance.prototype.navigation;
258
273
  /** @type {number} */
259
274
  Performance.prototype.timeOrigin;
260
275
 
276
+ /** @type {number} */
277
+ Performance.prototype.interactionCount;
261
278
 
262
279
  /**
263
280
  * Clears the buffer used to store the current list of
@@ -139,6 +139,9 @@ PointerEvent.prototype.tiltX;
139
139
  /** @type {number} */
140
140
  PointerEvent.prototype.tiltY;
141
141
 
142
+ /** @type {number} */
143
+ PointerEvent.prototype.persistentDeviceId;
144
+
142
145
  /** @type {string} */
143
146
  PointerEvent.prototype.pointerType;
144
147
 
@@ -505,7 +505,7 @@ Cache.prototype.matchAll = function(opt_request, opt_options) {};
505
505
  Cache.prototype.add = function(request) {};
506
506
 
507
507
  /**
508
- * @param {!Array<!RequestInfo>} requests
508
+ * @param {!Array<!RequestInfo>|!Iterable<!RequestInfo>} requests
509
509
  * @return {!Promise<void>}
510
510
  */
511
511
  Cache.prototype.addAll = function(requests) {};
@@ -146,9 +146,13 @@ Document.prototype.createTouch = function(view, target, identifier, pageX,
146
146
  * @see http://www.w3.org/TR/touch-events/#touchlist-interface
147
147
  * @constructor
148
148
  * @implements {IArrayLike<!Touch>}
149
+ * @implements {Iterable<!Touch>}
149
150
  */
150
151
  function TouchList() {}
151
152
 
153
+ /** @override */
154
+ TouchList.prototype[Symbol.iterator] = function() {};
155
+
152
156
  /**
153
157
  * The number of Touch objects in this TouchList object.
154
158
  * @type {number}
@@ -31,7 +31,7 @@ var VibratePattern;
31
31
 
32
32
 
33
33
  /**
34
- * @param {!VibratePattern} pattern
34
+ * @param {!VibratePattern|!Iterable<number>} pattern
35
35
  * @return {boolean}
36
36
  * @see https://www.w3.org/TR/2016/REC-vibration-20161018/#idl-def-navigator-vibrate(vibratepattern)
37
37
  */
@@ -322,6 +322,15 @@ EncodedVideoChunkInit.prototype.type;
322
322
  function EncodedVideoChunkOutputCallback() {}
323
323
 
324
324
 
325
+ /**
326
+ * @record
327
+ * @struct
328
+ */
329
+ function SvcOutputMetadata() {}
330
+
331
+ /** @type {number|undefined} */
332
+ SvcOutputMetadata.prototype.temporalLayerId;
333
+
325
334
  /**
326
335
  * @record
327
336
  * @struct
@@ -335,6 +344,8 @@ EncodedVideoChunkMetadata.prototype.decoderConfig;
335
344
  /** @type {number|undefined} */
336
345
  EncodedVideoChunkMetadata.prototype.temporalLayerId;
337
346
 
347
+ /** @type {!SvcOutputMetadata|undefined} */
348
+ EncodedVideoChunkMetadata.prototype.svc;
338
349
 
339
350
  /**
340
351
  * @record
@@ -705,6 +716,9 @@ EncodedAudioChunkMetadata.prototype.decoderConfig;
705
716
  */
706
717
  function AudioEncoderConfig() {}
707
718
 
719
+ /** @type {!AacEncoderConfig|undefined} */
720
+ AudioEncoderConfig.prototype.aac;
721
+
708
722
  /**
709
723
  * @type {string}
710
724
  * @see https://www.w3.org/TR/webcodecs/#dom-audioencoderconfig-codec
@@ -738,6 +752,15 @@ AudioEncoderConfig.prototype.bitrateMode;
738
752
  /** @type {!OpusEncoderConfig|undefined} */
739
753
  AudioEncoderConfig.prototype.opus;
740
754
 
755
+ /**
756
+ * @record
757
+ * @struct
758
+ */
759
+ function AacEncoderConfig() {}
760
+
761
+ /** @type {!AacBitstreamFormat|undefined} */
762
+ AacEncoderConfig.prototype.format;
763
+
741
764
  /**
742
765
  * @record
743
766
  * @struct
@@ -1144,6 +1167,12 @@ var PredefinedColorSpace;
1144
1167
  */
1145
1168
  var ColorSpaceConversion;
1146
1169
 
1170
+ /**
1171
+ * @typedef {string}
1172
+ * Valid values are 'aac' and 'adts'.
1173
+ */
1174
+ var AacBitstreamFormat;
1175
+
1147
1176
  /**
1148
1177
  * @typedef {string}
1149
1178
  */
@@ -1447,6 +1476,7 @@ ImageTrack.prototype.selected;
1447
1476
 
1448
1477
  /**
1449
1478
  * @constructor
1479
+ * @implements {Iterable<!ImageTrack>}
1450
1480
  * @see https://www.w3.org/TR/webcodecs/#imagetracklist
1451
1481
  */
1452
1482
  function ImageTrackList() {}
@@ -1474,3 +1504,9 @@ ImageTrackList.prototype.selectedIndex;
1474
1504
  * @see https://www.w3.org/TR/webcodecs/#dom-imagetracklist-selectedtrack
1475
1505
  */
1476
1506
  ImageTrackList.prototype.selectedTrack;
1507
+
1508
+ /**
1509
+ * @override
1510
+ * @return {!IteratorIterable<!ImageTrack>}
1511
+ */
1512
+ ImageTrackList.prototype[Symbol.iterator] = function() {};
@@ -47,6 +47,15 @@ webCrypto.Algorithm;
47
47
  */
48
48
  webCrypto.AlgorithmIdentifier;
49
49
 
50
+
51
+ /**
52
+ * @typedef {string}
53
+ * Valid values: 'decrypt', 'deriveBits', 'deriveKey', 'encrypt', 'sign',
54
+ * 'unwrapKey', 'verify', 'wrapKey'.
55
+ * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-KeyUsage
56
+ */
57
+ webCrypto.KeyUsage;
58
+
50
59
  /**
51
60
  * @typedef {webCrypto.AlgorithmIdentifier}
52
61
  * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-HashAlgorithmIdentifier
@@ -691,9 +700,9 @@ webCrypto.SubtleCrypto.prototype.digest = function(algorithm, data) {};
691
700
  * algorithm Supported values are: SHA-1, SHA-256, SHA-384, and SHA-512.
692
701
  * @param {boolean} extractable If the key can be extracted from the CryptoKey
693
702
  * object at a later stage.
694
- * @param {!Array<string>} keyUsages Indication of new key options i.e.
695
- * encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,
696
- * unwrapKey.
703
+ * @param {(!Array<string>|!Iterable<!webCrypto.KeyUsage>)} keyUsages Indication
704
+ * of new key options i.e. encrypt, decrypt, sign, verify, deriveKey,
705
+ * deriveBits, wrapKey, unwrapKey.
697
706
  * @return {!Promise<!webCrypto.CryptoKey|!webCrypto.CryptoKeyPair>} returns the
698
707
  * generated key.
699
708
  */
@@ -710,8 +719,8 @@ webCrypto.SubtleCrypto.prototype.generateKey = function(algorithm,
710
719
  * derivation algorithm to use.
711
720
  * @param {boolean} extractable Indicates if the key can be extracted from the
712
721
  * CryptoKey object at a later stage.
713
- * @param {!Array<string>} keyUsages Indicates what can be done with the
714
- * derivated key.
722
+ * @param {(!Array<string>|!Iterable<!webCrypto.KeyUsage>)} keyUsages Indicates
723
+ * what can be done with the derivated key.
715
724
  * @return {!Promise<!webCrypto.CryptoKey|!webCrypto.CryptoKeyPair>} returns the
716
725
  * generated key.
717
726
  */
@@ -741,9 +750,9 @@ webCrypto.SubtleCrypto.prototype.deriveBits = function(algorithm,
741
750
  * AES-KW, HMAC, RSASSA-PKCS1-v1_5, ECDSA, ECDH, DH.
742
751
  * @param {boolean} extractable If the key can be extracted from the CryptoKey
743
752
  * object at a later stage.
744
- * @param {!Array<string>} keyUsages Indication of new key options i.e.
745
- * encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,
746
- * unwrapKey.
753
+ * @param {(!Array<string>|!Iterable<!webCrypto.KeyUsage>)} keyUsages Indication
754
+ * of new key options i.e. encrypt, decrypt, sign, verify, deriveKey,
755
+ * deriveBits, wrapKey, unwrapKey.
747
756
  * @return {!Promise<!webCrypto.CryptoKey>} returns the generated key.
748
757
  */
749
758
  webCrypto.SubtleCrypto.prototype.importKey = function(format, keyData,
@@ -790,8 +799,8 @@ webCrypto.SubtleCrypto.prototype.wrapKey = function(format,
790
799
  * Represents the algorithm of the wrapped key.
791
800
  * @param {boolean} extractable Indicates if the key can be extracted from the
792
801
  * CryptoKey object at a later stage.
793
- * @param {!Array<string>} keyUsages Indicates what can be done with the
794
- * derivated key.
802
+ * @param {(!Array<string>|!Iterable<!webCrypto.KeyUsage>)} keyUsages Indicates
803
+ * what can be done with the derivated key.
795
804
  * @return {!Promise<!webCrypto.CryptoKey>} returns the unwrapped key.
796
805
  */
797
806
  webCrypto.SubtleCrypto.prototype.unwrapKey = function(format, wrappedKey,
@@ -42,6 +42,7 @@ var WebTransportCloseInfo;
42
42
  * @typedef {{
43
43
  * allowPooling: (boolean|undefined),
44
44
  * congestionControl: (string|undefined),
45
+ * protocols: (!Array<string>|undefined),
45
46
  * requireUnreliable: (boolean|undefined),
46
47
  * serverCertificateHashes: (!Array<!WebTransportHash>|undefined),
47
48
  * }}
@@ -491,6 +491,24 @@ function FormData(form) {}
491
491
  /** @override */
492
492
  FormData.prototype[Symbol.iterator] = function() {};
493
493
 
494
+ /**
495
+ * @return {!IteratorIterable<!Array<string|!FormDataEntryValue>>}
496
+ * @nosideeffects
497
+ */
498
+ FormData.prototype.entries = function() {};
499
+
500
+ /**
501
+ * @return {!IteratorIterable<string>}
502
+ * @nosideeffects
503
+ */
504
+ FormData.prototype.keys = function() {};
505
+
506
+ /**
507
+ * @return {!IteratorIterable<!FormDataEntryValue>}
508
+ * @nosideeffects
509
+ */
510
+ FormData.prototype.values = function() {};
511
+
494
512
  /**
495
513
  * @param {string} name
496
514
  * @param {?Blob|string} value
@@ -158,19 +158,24 @@ FileSystemDirectoryHandle.prototype.removeEntry = function(name, opt_options) {}
158
158
  FileSystemDirectoryHandle.prototype.resolve = function(possibleDescendant) {};
159
159
 
160
160
  /**
161
- * @return {!AsyncIterable<!Array<string|!FileSystemHandle>>}
161
+ * @return {!AsyncIteratorIterable<!Array<string|!FileSystemHandle|!FileSystemDirectoryHandle|!FileSystemFileHandle>>}
162
+ */
163
+ FileSystemDirectoryHandle.prototype[Symbol.asyncIterator] = function() {};
164
+
165
+ /**
166
+ * @return {!AsyncIteratorIterable<!Array<string|!FileSystemHandle|!FileSystemDirectoryHandle|!FileSystemFileHandle>>}
162
167
  * @see https://fs.spec.whatwg.org/#api-filesystemdirectoryhandle-asynciterable
163
168
  */
164
169
  FileSystemDirectoryHandle.prototype.entries = function() {};
165
170
 
166
171
  /**
167
- * @return {!AsyncIterable<!FileSystemHandle>}
172
+ * @return {!AsyncIteratorIterable<!FileSystemHandle|!FileSystemDirectoryHandle|!FileSystemFileHandle>}
168
173
  * @see https://fs.spec.whatwg.org/#api-filesystemdirectoryhandle-asynciterable
169
174
  */
170
175
  FileSystemDirectoryHandle.prototype.values = function() {};
171
176
 
172
177
  /**
173
- * @return {!AsyncIterable<string>}
178
+ * @return {!AsyncIteratorIterable<string>}
174
179
  * @see https://fs.spec.whatwg.org/#api-filesystemdirectoryhandle-asynciterable
175
180
  */
176
181
  FileSystemDirectoryHandle.prototype.keys = function() {};
package/externs/es3.js CHANGED
@@ -173,6 +173,23 @@ Iterable.prototype[Symbol.iterator] = function() {};
173
173
 
174
174
 
175
175
 
176
+ /**
177
+ * TODO(b/142881197): TReturn and TNext are not yet used for anything.
178
+ * https://github.com/google/closure-compiler/issues/3489
179
+ * @record
180
+ * @template T, TReturn, TNext
181
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol
182
+ */
183
+ function IteratorLike() {}
184
+
185
+ /**
186
+ * @param {?=} opt_value
187
+ * @return {!IIterableResult<T>}
188
+ */
189
+ IteratorLike.prototype.next = function(opt_value) {};
190
+
191
+
192
+
176
193
  /**
177
194
  * TODO(b/142881197): TReturn and TNext are not yet used for anything.
178
195
  * https://github.com/google/closure-compiler/issues/3489
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "google-closure-compiler",
3
- "version": "20260712.0.0",
3
+ "version": "20260719.0.0",
4
4
  "description": "Check, compile, optimize and compress Javascript with Closure-Compiler",
5
5
  "type": "module",
6
6
  "repository": {
@@ -41,16 +41,16 @@
41
41
  "homepage": "https://developers.google.com/closure/compiler/",
42
42
  "dependencies": {
43
43
  "chalk": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 <5.6.1 || ^5.6.2 >5.6.1",
44
- "google-closure-compiler-java": "^20260712.0.0",
44
+ "google-closure-compiler-java": "^20260719.0.0",
45
45
  "minimist": "^1.0.0",
46
46
  "vinyl": "^3.0.1",
47
47
  "vinyl-sourcemaps-apply": "^0.2.0"
48
48
  },
49
49
  "optionalDependencies": {
50
- "google-closure-compiler-linux": "^20260712.0.0",
51
- "google-closure-compiler-linux-arm64": "^20260712.0.0",
52
- "google-closure-compiler-macos": "^20260712.0.0",
53
- "google-closure-compiler-windows": "^20260712.0.0"
50
+ "google-closure-compiler-linux": "^20260719.0.0",
51
+ "google-closure-compiler-linux-arm64": "^20260719.0.0",
52
+ "google-closure-compiler-macos": "^20260719.0.0",
53
+ "google-closure-compiler-windows": "^20260719.0.0"
54
54
  },
55
55
  "devDependencies": {
56
56
  "gulp": "^5.0.1",