google-closure-compiler 20250412.0.0-nightly → 20250413.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +5 -30
  2. package/cli.js +3 -4
  3. package/externs/browser/decorators.js +276 -0
  4. package/externs/browser/deprecated.js +58 -0
  5. package/externs/browser/es6_proxy.js +143 -0
  6. package/externs/browser/fetchapi.js +449 -0
  7. package/externs/browser/fido.js +94 -0
  8. package/externs/browser/flash.js +226 -0
  9. package/externs/browser/gecko_css.js +126 -0
  10. package/externs/browser/gecko_dom.js +479 -0
  11. package/externs/browser/gecko_event.js +86 -0
  12. package/externs/browser/gecko_xml.js +73 -0
  13. package/externs/browser/google_legacy.js +31 -0
  14. package/externs/browser/html5.js +6647 -0
  15. package/externs/browser/ie_css.js +270 -0
  16. package/externs/browser/ie_dom.js +1232 -0
  17. package/externs/browser/ie_event.js +310 -0
  18. package/externs/browser/ie_vml.js +77 -0
  19. package/externs/browser/intersection_observer.js +178 -0
  20. package/externs/browser/intl.js +602 -0
  21. package/externs/browser/iphone.js +204 -0
  22. package/externs/browser/mediakeys.js +305 -0
  23. package/externs/browser/mediasource.js +155 -0
  24. package/externs/browser/nonstandard_anim_timing.js +97 -0
  25. package/externs/browser/nonstandard_audio.js +82 -0
  26. package/externs/browser/nonstandard_console.js +75 -0
  27. package/externs/browser/nonstandard_fileapi.js +1066 -0
  28. package/externs/browser/nonstandard_indexeddb.js +78 -0
  29. package/externs/browser/nonstandard_navigation_timing.js +38 -0
  30. package/externs/browser/nonstandard_selection.js +80 -0
  31. package/externs/browser/page_visibility.js +28 -0
  32. package/externs/browser/streamsapi.js +593 -0
  33. package/externs/browser/svg.js +10016 -0
  34. package/externs/browser/url.js +202 -0
  35. package/externs/browser/v8.js +134 -0
  36. package/externs/browser/w3c_abort.js +89 -0
  37. package/externs/browser/w3c_anim_timing.js +49 -0
  38. package/externs/browser/w3c_aria_mixin.js +286 -0
  39. package/externs/browser/w3c_audio.js +1660 -0
  40. package/externs/browser/w3c_batterystatus.js +85 -0
  41. package/externs/browser/w3c_clipboard.js +74 -0
  42. package/externs/browser/w3c_clipboardevent.js +47 -0
  43. package/externs/browser/w3c_composition_event.js +93 -0
  44. package/externs/browser/w3c_css.js +3790 -0
  45. package/externs/browser/w3c_css3d.js +199 -0
  46. package/externs/browser/w3c_device_sensor_event.js +122 -0
  47. package/externs/browser/w3c_dom1.js +1160 -0
  48. package/externs/browser/w3c_dom2.js +3151 -0
  49. package/externs/browser/w3c_dom3.js +555 -0
  50. package/externs/browser/w3c_dom4.js +289 -0
  51. package/externs/browser/w3c_elementtraversal.js +116 -0
  52. package/externs/browser/w3c_event.js +607 -0
  53. package/externs/browser/w3c_event3.js +77 -0
  54. package/externs/browser/w3c_eventsource.js +110 -0
  55. package/externs/browser/w3c_fileapi.js +302 -0
  56. package/externs/browser/w3c_gamepad.js +113 -0
  57. package/externs/browser/w3c_geolocation.js +130 -0
  58. package/externs/browser/w3c_geometry1.js +899 -0
  59. package/externs/browser/w3c_indexeddb.js +771 -0
  60. package/externs/browser/w3c_keyboardlock.js +47 -0
  61. package/externs/browser/w3c_mediacapabilities.js +206 -0
  62. package/externs/browser/w3c_midi.js +301 -0
  63. package/externs/browser/w3c_navigation.js +72 -0
  64. package/externs/browser/w3c_navigation_timing.js +437 -0
  65. package/externs/browser/w3c_netinfo.js +85 -0
  66. package/externs/browser/w3c_payment_request.js +401 -0
  67. package/externs/browser/w3c_permissions.js +112 -0
  68. package/externs/browser/w3c_permissions_policy.js +78 -0
  69. package/externs/browser/w3c_pointer_events.js +163 -0
  70. package/externs/browser/w3c_pointerlock.js +63 -0
  71. package/externs/browser/w3c_range.js +284 -0
  72. package/externs/browser/w3c_referrer_policy.js +36 -0
  73. package/externs/browser/w3c_requestidlecallback.js +76 -0
  74. package/externs/browser/w3c_rtc.js +3882 -0
  75. package/externs/browser/w3c_screen_orientation.js +53 -0
  76. package/externs/browser/w3c_screen_wake_lock.js +58 -0
  77. package/externs/browser/w3c_selection.js +209 -0
  78. package/externs/browser/w3c_selectors.js +113 -0
  79. package/externs/browser/w3c_serviceworker.js +739 -0
  80. package/externs/browser/w3c_speech.js +426 -0
  81. package/externs/browser/w3c_touch_event.js +296 -0
  82. package/externs/browser/w3c_trusted_types.js +142 -0
  83. package/externs/browser/w3c_vibration.js +38 -0
  84. package/externs/browser/w3c_webcodecs.js +1473 -0
  85. package/externs/browser/w3c_webcrypto.js +839 -0
  86. package/externs/browser/w3c_worklets.js +54 -0
  87. package/externs/browser/w3c_xml.js +533 -0
  88. package/externs/browser/web_animations.js +452 -0
  89. package/externs/browser/web_app_manifest.js +50 -0
  90. package/externs/browser/webassembly.js +223 -0
  91. package/externs/browser/webgl.js +3409 -0
  92. package/externs/browser/webgl2.js +2727 -0
  93. package/externs/browser/webgl2_compute.js +1609 -0
  94. package/externs/browser/webkit_css.js +456 -0
  95. package/externs/browser/webkit_dom.js +118 -0
  96. package/externs/browser/webkit_event.js +46 -0
  97. package/externs/browser/webkit_notifications.js +258 -0
  98. package/externs/browser/webkit_usercontent.js +55 -0
  99. package/externs/browser/weblocksapi.js +125 -0
  100. package/externs/browser/webstorage.js +171 -0
  101. package/externs/browser/whatwg_bitmap_context.js +37 -0
  102. package/externs/browser/whatwg_console.js +152 -0
  103. package/externs/browser/whatwg_encoding.js +99 -0
  104. package/externs/browser/whatwg_file_system.js +296 -0
  105. package/externs/browser/wicg_attribution_reporting.js +42 -0
  106. package/externs/browser/wicg_compression_stream.js +60 -0
  107. package/externs/browser/wicg_constructable_stylesheets.js +60 -0
  108. package/externs/browser/wicg_entries.js +169 -0
  109. package/externs/browser/wicg_file_handling.js +41 -0
  110. package/externs/browser/wicg_file_system_access.js +191 -0
  111. package/externs/browser/wicg_floc.js +41 -0
  112. package/externs/browser/wicg_ink.js +89 -0
  113. package/externs/browser/wicg_resizeobserver.js +100 -0
  114. package/externs/browser/wicg_scheduler.js +62 -0
  115. package/externs/browser/wicg_trust_token.js +89 -0
  116. package/externs/browser/wicg_uach.js +100 -0
  117. package/externs/browser/window.js +190 -0
  118. package/externs/es3.js +2716 -0
  119. package/externs/es5.js +284 -0
  120. package/externs/es6.js +2554 -0
  121. package/externs/es6_collections.js +323 -0
  122. package/index.js +13 -16
  123. package/lib/grunt/index.js +71 -92
  124. package/lib/grunt/vinyl-stream.js +12 -18
  125. package/lib/gulp/concat-to-json.js +30 -18
  126. package/lib/gulp/index.js +174 -181
  127. package/lib/gulp/json-to-vinyl.js +8 -8
  128. package/lib/node/{closure-compiler.js → index.js} +27 -51
  129. package/lib/utils.js +16 -14
  130. package/package.json +19 -16
  131. package/lib/logger.js +0 -89
@@ -0,0 +1,449 @@
1
+ /*
2
+ * Copyright 2014 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
+ * @fileoverview Definitions of the fetch api.
18
+ *
19
+ * This api is still in development and not yet stable. Use at your
20
+ * own risk.
21
+ *
22
+ * Based on Living Standard — Last Updated 17 August 2016
23
+ *
24
+ * @see https://fetch.spec.whatwg.org/
25
+ * @externs
26
+ */
27
+
28
+
29
+ /**
30
+ * @typedef {string}
31
+ * @see https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy
32
+ * Possible values: '', 'no-referrer', 'no-referrer-when-downgrade',
33
+ * 'same-origin', 'origin', 'strict-origin', 'origin-when-cross-origin',
34
+ * 'strict-origin-when-cross-origin', 'unsafe-url'
35
+ */
36
+ var ReferrerPolicy;
37
+
38
+
39
+ /**
40
+ * @typedef {!Headers|!Array<!Array<string>>|!Object<string,string>}
41
+ * @see https://fetch.spec.whatwg.org/#typedefdef-headersinit
42
+ */
43
+ var HeadersInit;
44
+
45
+
46
+ /**
47
+ * @param {!HeadersInit=} opt_headersInit
48
+ * @constructor
49
+ * @implements {Iterable<!Array<string>>}
50
+ * @see https://fetch.spec.whatwg.org/#headers
51
+ */
52
+ function Headers(opt_headersInit) {}
53
+
54
+ /**
55
+ * @param {string} name
56
+ * @param {string} value
57
+ * @return {undefined}
58
+ */
59
+ Headers.prototype.append = function(name, value) {};
60
+
61
+ /**
62
+ * @param {string} name
63
+ * @return {undefined}
64
+ */
65
+ Headers.prototype.delete = function(name) {};
66
+
67
+ /** @return {!IteratorIterable<!Array<string>>} */
68
+ Headers.prototype.entries = function() {};
69
+
70
+ /**
71
+ * @param {string} name
72
+ * @return {?string}
73
+ */
74
+ Headers.prototype.get = function(name) {};
75
+
76
+ /**
77
+ * @param {string} name
78
+ * @return {!Array<string>}
79
+ */
80
+ Headers.prototype.getAll = function(name) {};
81
+
82
+ /**
83
+ * @param {string} name
84
+ * @return {boolean}
85
+ */
86
+ Headers.prototype.has = function(name) {};
87
+
88
+ /** @return {!IteratorIterable<string>} */
89
+ Headers.prototype.keys = function() {};
90
+
91
+ /**
92
+ * @param {string} name
93
+ * @param {string} value
94
+ * @return {undefined}
95
+ */
96
+ Headers.prototype.set = function(name, value) {};
97
+
98
+ /** @return {!Iterator<string>} */
99
+ Headers.prototype.values = function() {};
100
+
101
+ /** @return {!Iterator<!Array<string>>} */
102
+ Headers.prototype[Symbol.iterator] = function() {};
103
+
104
+
105
+ /**
106
+ * @typedef {
107
+ * !Blob|!BufferSource|!FormData|!URLSearchParams|!ReadableStream|string}
108
+ * @see https://fetch.spec.whatwg.org/#bodyinit
109
+ */
110
+ var BodyInit;
111
+
112
+
113
+ /**
114
+ * @typedef {!BodyInit|!ReadableStream}
115
+ * @see https://fetch.spec.whatwg.org/#responsebodyinit
116
+ */
117
+ var ResponseBodyInit;
118
+
119
+
120
+ /**
121
+ * @interface
122
+ * @see https://fetch.spec.whatwg.org/#body
123
+ */
124
+ function Body() {};
125
+
126
+ /** @type {boolean} */
127
+ Body.prototype.bodyUsed;
128
+
129
+ /** @return {!Promise<!ArrayBuffer>} */
130
+ Body.prototype.arrayBuffer = function() {};
131
+
132
+ /** @return {!Promise<!Blob>} */
133
+ Body.prototype.blob = function() {};
134
+
135
+ /** @return {!Promise<!Uint8Array>} */
136
+ Body.prototype.bytes = function() {};
137
+
138
+ /** @return {!Promise<!FormData>} */
139
+ Body.prototype.formData = function() {};
140
+
141
+ /** @return {!Promise<*>} */
142
+ Body.prototype.json = function() {};
143
+
144
+ /** @return {!Promise<string>} */
145
+ Body.prototype.text = function() {};
146
+
147
+
148
+ /**
149
+ * @typedef {!Request|!URL|string}
150
+ * @see https://fetch.spec.whatwg.org/#requestinfo
151
+ */
152
+ var RequestInfo;
153
+
154
+
155
+ /**
156
+ * @param {!RequestInfo} input
157
+ * @param {!RequestInit=} init
158
+ * @constructor
159
+ * @implements {Body}
160
+ * @see https://fetch.spec.whatwg.org/#request
161
+ */
162
+ function Request(input, init) {}
163
+
164
+ /** @override */
165
+ Request.prototype.bodyUsed;
166
+
167
+ /** @override */
168
+ Request.prototype.arrayBuffer = function() {};
169
+
170
+ /** @override */
171
+ Request.prototype.blob = function() {};
172
+
173
+ /** @override */
174
+ Request.prototype.bytes = function() {};
175
+
176
+ /** @override */
177
+ Request.prototype.formData = function() {};
178
+
179
+ /** @override */
180
+ Request.prototype.json = function() {};
181
+
182
+ /** @override */
183
+ Request.prototype.text = function() {};
184
+
185
+ /** @type {string} */
186
+ Request.prototype.method;
187
+
188
+ /** @type {string} */
189
+ Request.prototype.url;
190
+
191
+ /** @type {!Headers} */
192
+ Request.prototype.headers;
193
+
194
+ /** @type {!FetchRequestType} */
195
+ Request.prototype.type;
196
+
197
+ /** @type {!RequestDestination} */
198
+ Request.prototype.destination;
199
+
200
+ /** @type {string} */
201
+ Request.prototype.referrer;
202
+
203
+ /** @type {!RequestMode} */
204
+ Request.prototype.mode;
205
+
206
+ /** @type {!RequestCredentials} */
207
+ Request.prototype.credentials;
208
+
209
+ /** @type {!RequestCache} */
210
+ Request.prototype.cache;
211
+
212
+ /** @type {!RequestRedirect} */
213
+ Request.prototype.redirect;
214
+
215
+ /** @type {string} */
216
+ Request.prototype.integrity;
217
+
218
+ /** @type {boolean} */
219
+ Request.prototype.isHistoryNavigation;
220
+
221
+ /** @type {(undefined|boolean)} */
222
+ Request.prototype.keepalive;
223
+
224
+ /** @return {!Request} */
225
+ Request.prototype.clone = function() {};
226
+
227
+
228
+ /**
229
+ * @record
230
+ * @see https://fetch.spec.whatwg.org/#requestinit
231
+ */
232
+ function RequestInit() {};
233
+
234
+ /** @type {(undefined|string)} */
235
+ RequestInit.prototype.method;
236
+
237
+ /** @type {(undefined|!HeadersInit)} */
238
+ RequestInit.prototype.headers;
239
+
240
+ /** @type {(undefined|?BodyInit)} */
241
+ RequestInit.prototype.body;
242
+
243
+ /** @type {(undefined|string)} */
244
+ RequestInit.prototype.referrer;
245
+
246
+ /** @type {(undefined|!ReferrerPolicy)} */
247
+ RequestInit.prototype.referrerPolicy;
248
+
249
+ /** @type {(undefined|!RequestMode)} */
250
+ RequestInit.prototype.mode;
251
+
252
+ /** @type {(undefined|!RequestCredentials)} */
253
+ RequestInit.prototype.credentials;
254
+
255
+ /** @type {(undefined|!RequestCache)} */
256
+ RequestInit.prototype.cache;
257
+
258
+ /** @type {(undefined|!RequestRedirect)} */
259
+ RequestInit.prototype.redirect;
260
+
261
+ /** @type {(undefined|string)} */
262
+ RequestInit.prototype.integrity;
263
+
264
+ /** @type {(undefined|!AbortSignal)} */
265
+ RequestInit.prototype.signal;
266
+
267
+ /** @type {(undefined|boolean)} */
268
+ RequestInit.prototype.keepalive;
269
+
270
+ /** @type {(undefined|null)} */
271
+ RequestInit.prototype.window;
272
+
273
+ /**
274
+ * @typedef {string}
275
+ * @see https://fetch.spec.whatwg.org/#requesttype
276
+ * Possible values: '', 'audio', 'font', 'image', 'script', 'style',
277
+ * 'track', 'video'
278
+ */
279
+ var FetchRequestType;
280
+
281
+
282
+ /**
283
+ * @typedef {string}
284
+ * @see https://fetch.spec.whatwg.org/#requestdestination
285
+ * Possible values: '', 'document', 'embed', 'font', 'image', 'manifest',
286
+ * 'media', 'object', 'report', 'script', 'serviceworker', 'sharedworker',
287
+ * 'style', 'worker', 'xslt'
288
+ */
289
+ var RequestDestination;
290
+
291
+
292
+ /**
293
+ * @typedef {string}
294
+ * @see https://fetch.spec.whatwg.org/#requestmode
295
+ * Possible values: 'navigate', 'same-origin', 'no-cors', 'cors'
296
+ */
297
+ var RequestMode ;
298
+
299
+
300
+ /**
301
+ * @typedef {string}
302
+ * @see https://fetch.spec.whatwg.org/#requestcredentials
303
+ * Possible values: 'omit', 'same-origin', 'include'
304
+ */
305
+ var RequestCredentials;
306
+
307
+
308
+ /**
309
+ * @typedef {string}
310
+ * @see https://fetch.spec.whatwg.org/#requestcache
311
+ * Possible values: 'default', 'no-store', 'reload', 'no-cache', 'force-cache',
312
+ * 'only-if-cached'
313
+ */
314
+ var RequestCache;
315
+
316
+
317
+ /**
318
+ * @typedef {string}
319
+ * @see https://fetch.spec.whatwg.org/#requestredirect
320
+ * Possible values: 'follow', 'error', 'manual'
321
+ */
322
+ var RequestRedirect;
323
+
324
+
325
+ /**
326
+ * @param {?ResponseBodyInit=} opt_body
327
+ * @param {!ResponseInit=} opt_init
328
+ * @constructor
329
+ * @implements {Body}
330
+ * @see https://fetch.spec.whatwg.org/#response
331
+ */
332
+ function Response(opt_body, opt_init) {}
333
+
334
+ /** @return {!Response} */
335
+ Response.error = function() {};
336
+
337
+ /**
338
+ * @param {!URL|string} url
339
+ * @param {number=} opt_status
340
+ * @return {!Response}
341
+ */
342
+ Response.redirect = function(url, opt_status) {};
343
+
344
+ /** @override */
345
+ Response.prototype.bodyUsed;
346
+
347
+ /** @override */
348
+ Response.prototype.arrayBuffer = function() {};
349
+
350
+ /** @override */
351
+ Response.prototype.blob = function() {};
352
+
353
+ /** @override */
354
+ Response.prototype.bytes = function() {};
355
+
356
+ /** @override */
357
+ Response.prototype.formData = function() {};
358
+
359
+ /** @override */
360
+ Response.prototype.json = function() {};
361
+
362
+ /** @override */
363
+ Response.prototype.text = function() {};
364
+
365
+ /** @type {!ResponseType} */
366
+ Response.prototype.type;
367
+
368
+ /** @type {string} */
369
+ Response.prototype.url;
370
+
371
+ /** @type {boolean} */
372
+ Response.prototype.redirected;
373
+
374
+ /** @type {number} */
375
+ Response.prototype.status;
376
+
377
+ /** @type {boolean} */
378
+ Response.prototype.ok;
379
+
380
+ /** @type {string} */
381
+ Response.prototype.statusText;
382
+
383
+ /** @type {!Headers} */
384
+ Response.prototype.headers;
385
+
386
+ /** @type {?ReadableStream} */
387
+ Response.prototype.body;
388
+
389
+ /** @type {!Promise<!Headers>} */
390
+ Response.prototype.trailer;
391
+
392
+ /** @return {!Response} */
393
+ Response.prototype.clone = function() {};
394
+
395
+
396
+ /**
397
+ * @record
398
+ * @see https://fetch.spec.whatwg.org/#responseinit
399
+ */
400
+ function ResponseInit() {};
401
+
402
+ /** @type {(undefined|number)} */
403
+ ResponseInit.prototype.status;
404
+
405
+ /** @type {(undefined|string)} */
406
+ ResponseInit.prototype.statusText;
407
+
408
+ /** @type {(undefined|!HeadersInit)} */
409
+ ResponseInit.prototype.headers;
410
+
411
+
412
+ /**
413
+ * @typedef {string}
414
+ * @see https://fetch.spec.whatwg.org/#responsetype
415
+ * Possible values: 'basic', 'cors', 'default', 'error', 'opaque',
416
+ * 'opaqueredirect'
417
+ */
418
+ var ResponseType;
419
+
420
+ /**
421
+ * @param {!RequestInfo} input
422
+ * @param {!RequestInit=} init
423
+ * @return {!Promise<!Response>}
424
+ * @see https://fetch.spec.whatwg.org/#fetch-method
425
+ */
426
+ function fetch(input, init) {}
427
+
428
+ /**
429
+ * @param {!RequestInfo} input
430
+ * @param {!RequestInit=} init
431
+ * @return {!Promise<!Response>}
432
+ * @see https://fetch.spec.whatwg.org/#fetch-method
433
+ */
434
+ Window.prototype.fetch = function(input, init) {};
435
+
436
+ /**
437
+ * @param {!RequestInfo} input
438
+ * @param {!RequestInit=} init
439
+ * @return {!Promise<!Response>}
440
+ * @see https://fetch.spec.whatwg.org/#fetch-method
441
+ */
442
+ WorkerGlobalScope.prototype.fetch = function(input, init) {};
443
+
444
+ /**
445
+ * if WorkerOptions.type = 'module', it specifies how `scriptURL` is fetched.
446
+ * WorkerOptions is defined in html5.js.
447
+ * @type {!RequestCredentials|undefined}
448
+ */
449
+ WorkerOptions.prototype.credentials;
@@ -0,0 +1,94 @@
1
+ /*
2
+ * Copyright 2018 The Closure Compiler Authors.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ /**
18
+ * @fileoverview Definitions from the FIDO Specifications
19
+ * @see https://fidoalliance.org/download/
20
+ *
21
+ * @externs
22
+ * @author arnarbi@gmail.com (Arnar Birgisson)
23
+ */
24
+
25
+ /**
26
+ * U2F JavaScript API namespace
27
+ * @see https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-javascript-api-v1.2-ps-20170411.html
28
+ * @const
29
+ */
30
+ var u2f = {};
31
+
32
+ /**
33
+ * Data object for a single sign request.
34
+ * @typedef {string}
35
+ */
36
+ u2f.Transport;
37
+
38
+ /**
39
+ * Data object for a registered key.
40
+ * @typedef {{
41
+ * version: string,
42
+ * keyHandle: string,
43
+ * transports: (!Array<!u2f.Transport>|undefined),
44
+ * appId: ?string
45
+ * }}
46
+ */
47
+ u2f.RegisteredKey;
48
+
49
+ /**
50
+ * An error object for responses
51
+ * @typedef {{
52
+ * errorCode: number,
53
+ * errorMessage: ?string
54
+ * }}
55
+ */
56
+ u2f.Error;
57
+
58
+ /**
59
+ * Data object for a sign response.
60
+ * @typedef {{
61
+ * keyHandle: string,
62
+ * signatureData: string,
63
+ * clientData: string
64
+ * }}
65
+ */
66
+ u2f.SignResponse;
67
+
68
+ /**
69
+ * @typedef {{
70
+ * version: string,
71
+ * challenge: string
72
+ * }}
73
+ */
74
+ u2f.RegisterRequest
75
+
76
+ /**
77
+ * @param {string} appId
78
+ * @param {string} challenge
79
+ * @param {!Array<!u2f.RegisteredKey>} registeredKeys
80
+ * @param {function((!u2f.Error|!u2f.SignResponse))} callback
81
+ * @param {number=} opt_timeoutSeconds
82
+ */
83
+ u2f.sign = function(
84
+ appId, challenge, registeredKeys, callback, opt_timeoutSeconds) {};
85
+
86
+ /**
87
+ * @param {string} appId
88
+ * @param {!Array<!u2f.RegisterRequest>} registerRequests
89
+ * @param {!Array<!u2f.RegisteredKey>} registeredKeys
90
+ * @param {function((!u2f.Error|!u2f.SignResponse))} callback
91
+ * @param {number=} opt_timeoutSeconds
92
+ */
93
+ u2f.register = function(
94
+ appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) {};