UNPKG

google-closure-compiler

Version:

Check, compile, optimize and compress Javascript with Closure-Compiler

500 lines (366 loc) • 10.4 kB
/* * Copyright 2011 The Closure Compiler Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @fileoverview Definitions for W3C's Speech Input 2010 draft API and the * 2012 Web Speech draft API (in progress). * 2010 Speech Input API: * http://www.w3.org/2005/Incubator/htmlspeech/2010/10/google-api-draft.html * 2012 Web Speech API: * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html * This file contains only those functions/properties that are actively * used in the Voice Search experiment. Because the draft is under discussion * and constantly evolving, this file does not attempt to stay in sync with it. * * @externs */ // W3C Speech Input API implemented in Chrome M12 /** * @constructor * @extends {UIEvent} */ function SpeechInputEvent() {} /** @type {SpeechInputResultList} */ SpeechInputEvent.prototype.results; /** * @constructor */ function SpeechInputResultList() {} /** @type {number} */ SpeechInputResultList.prototype.length; /** * @constructor */ function SpeechInputResult() {} /** @type {string} */ SpeechInputResult.prototype.utterance; /** @type {number} */ SpeechInputResult.prototype.confidence; // HTMLInputElement /** @type {boolean} */ HTMLInputElement.prototype.webkitspeech; /** @type {?function (Event)} */ HTMLInputElement.prototype.onwebkitspeechchange; // W3C Web Speech API implemented in Chrome M23 /** * @constructor * @implements {EventTarget} */ function SpeechRecognition() {} /** @override */ SpeechRecognition.prototype.addEventListener = function( type, listener, opt_options) {}; /** @override */ SpeechRecognition.prototype.removeEventListener = function( type, listener, opt_options) {}; /** @override */ SpeechRecognition.prototype.dispatchEvent = function(evt) {}; /** @type {SpeechGrammarList} */ SpeechRecognition.prototype.grammars; /** @type {string} */ SpeechRecognition.prototype.lang; /** @type {boolean} */ SpeechRecognition.prototype.continuous; /** @type {boolean} */ SpeechRecognition.prototype.interimResults; /** @type {number} */ SpeechRecognition.prototype.maxAlternatives; /** @type {string} */ SpeechRecognition.prototype.serviceURI; /** @type {function()} */ SpeechRecognition.prototype.start; /** @type {function()} */ SpeechRecognition.prototype.stop; /** @type {function()} */ SpeechRecognition.prototype.abort; /** @type {?function(!Event)} */ SpeechRecognition.prototype.onaudiostart; /** @type {?function(!Event)} */ SpeechRecognition.prototype.onsoundstart; /** @type {?function(!Event)} */ SpeechRecognition.prototype.onspeechstart; /** @type {?function(!Event)} */ SpeechRecognition.prototype.onspeechend; /** @type {?function(!Event)} */ SpeechRecognition.prototype.onsoundend; /** @type {?function(!Event)} */ SpeechRecognition.prototype.onaudioend; /** @type {?function(!SpeechRecognitionEvent)} */ SpeechRecognition.prototype.onresult; /** @type {?function(!SpeechRecognitionEvent)} */ SpeechRecognition.prototype.onnomatch; /** @type {?function(!SpeechRecognitionError)} */ SpeechRecognition.prototype.onerror; /** @type {?function(!Event)} */ SpeechRecognition.prototype.onstart; /** @type {?function(!Event)} */ SpeechRecognition.prototype.onend; /** * @constructor * @extends {Event} */ function SpeechRecognitionError() {} /** @type {string} */ SpeechRecognitionError.prototype.error; /** @type {string} */ SpeechRecognitionError.prototype.message; /** * @constructor */ function SpeechRecognitionAlternative() {} /** @type {string} */ SpeechRecognitionAlternative.prototype.transcript; /** @type {number} */ SpeechRecognitionAlternative.prototype.confidence; /** * @constructor */ function SpeechRecognitionResult() {} /** * @type {number} */ SpeechRecognitionResult.prototype.length; /** * @type {function(number): SpeechRecognitionAlternative} */ SpeechRecognitionResult.prototype.item = function(index) {}; /** * @type {boolean} */ SpeechRecognitionResult.prototype.isFinal; /** * @constructor */ function SpeechRecognitionResultList() {} /** * @type {number} */ SpeechRecognitionResultList.prototype.length; /** * @type {function(number): SpeechRecognitionResult} */ SpeechRecognitionResultList.prototype.item = function(index) {}; /** * @constructor * @extends {Event} */ function SpeechRecognitionEvent() {} /** @type {number} */ SpeechRecognitionEvent.prototype.resultIndex; /** @type {SpeechRecognitionResultList} */ SpeechRecognitionEvent.prototype.results; /** @type {*} */ SpeechRecognitionEvent.prototype.interpretation; /** @type {Document} */ SpeechRecognitionEvent.prototype.emma; /** * @constructor */ function SpeechGrammar() {} /** @type {string} */ SpeechGrammar.prototype.src; /** @type {number} */ SpeechGrammar.prototype.weight; /** * @constructor */ function SpeechGrammarList() {} /** * @type {number} */ SpeechGrammarList.prototype.length; /** * @type {function(number): SpeechGrammar} */ SpeechGrammarList.prototype.item = function(index) {}; /** * @type {function(string, number)} */ SpeechGrammarList.prototype.addFromUri = function(src, weight) {}; /** * @type {function(string, number)} */ SpeechGrammarList.prototype.addFromURI = function(src, weight) {}; /** * @type {function(string, number)} */ SpeechGrammarList.prototype.addFromString = function(str, weight) {}; // Webkit implementations of Web Speech API /** * @constructor * @extends {SpeechGrammarList} */ function webkitSpeechGrammarList() {} /** * @constructor * @extends {SpeechGrammar} */ function webkitSpeechGrammar() {} /** * @constructor * @extends {SpeechRecognitionEvent} */ function webkitSpeechRecognitionEvent() {} /** * @constructor * @extends {SpeechRecognitionError} */ function webkitSpeechRecognitionError() {} /** * @constructor * @extends {SpeechRecognition} */ function webkitSpeechRecognition() {} // W3C Web Speech Synthesis API is implemented in Chrome M33 /** * @type {SpeechSynthesis} * @see https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section */ var speechSynthesis; /** * @constructor * @param {string} text */ function SpeechSynthesisUtterance(text) {} /** @type {string} */ SpeechSynthesisUtterance.prototype.text; /** @type {string} */ SpeechSynthesisUtterance.prototype.lang; /** @type {number} */ SpeechSynthesisUtterance.prototype.pitch; /** @type {number} */ SpeechSynthesisUtterance.prototype.rate; /** @type {SpeechSynthesisVoice} */ SpeechSynthesisUtterance.prototype.voice; /** @type {number} */ SpeechSynthesisUtterance.prototype.volume; /** * @param {Event} event */ SpeechSynthesisUtterance.prototype.onstart = function(event) {}; /** * @param {Event} event */ SpeechSynthesisUtterance.prototype.onend = function(event) {}; /** * @param {Event} event */ SpeechSynthesisUtterance.prototype.onerror = function(event) {}; /** * @type {?function(!SpeechSynthesisEvent)} */ SpeechSynthesisUtterance.prototype.onboundary; /** * @type {?function(!SpeechSynthesisEvent)} */ SpeechSynthesisUtterance.prototype.onmark; /** * @constructor */ function SpeechSynthesisVoice() {} /** @type {string} */ SpeechSynthesisVoice.prototype.voiceURI; /** @type {string} */ SpeechSynthesisVoice.prototype.name; /** @type {string} */ SpeechSynthesisVoice.prototype.lang; /** @type {boolean} */ SpeechSynthesisVoice.prototype.localService; /** @type {boolean} */ SpeechSynthesisVoice.prototype.default; /** * @constructor * @extends {Array<!SpeechSynthesisVoice>} */ function SpeechSynthesisVoiceList() {} /** * @interface * @extends {EventTarget} */ function SpeechSynthesis() {} /** * @param {SpeechSynthesisUtterance} utterance * @return {undefined} */ SpeechSynthesis.prototype.speak = function(utterance) {}; /** @type {function()} */ SpeechSynthesis.prototype.cancel; /** @type {function()} */ SpeechSynthesis.prototype.pause; /** @type {function()} */ SpeechSynthesis.prototype.resume; /** @type {boolean} */ SpeechSynthesis.prototype.paused; /** @type {boolean} */ SpeechSynthesis.prototype.pending; /** @type {boolean} */ SpeechSynthesis.prototype.speaking; /** * @return {SpeechSynthesisVoiceList} */ SpeechSynthesis.prototype.getVoices = function() {}; /** * @param {Event} event * @see https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi-errata.html */ SpeechSynthesis.prototype.onvoiceschanged = function(event) {}; /** * @record * @extends {EventInit} */ function SpeechSynthesisEventInit() {} /** @type {number|undefined} */ SpeechSynthesisEventInit.prototype.charIndex; /** @type {number|undefined} */ SpeechSynthesisEventInit.prototype.charLength; /** @type {number|undefined} */ SpeechSynthesisEventInit.prototype.elapsedTime; /** @type {string|undefined} */ SpeechSynthesisEventInit.prototype.name; /** @type {!SpeechSynthesisUtterance} */ SpeechSynthesisEventInit.prototype.utterance; /** * @constructor * @extends {Event} * @param {string} type * @param {!SpeechSynthesisEventInit=} eventInitDict */ function SpeechSynthesisEvent(type, eventInitDict) {} /** @type {number} */ SpeechSynthesisEvent.prototype.charIndex; /** @type {number} */ SpeechSynthesisEvent.prototype.charLength; /** @type {number} */ SpeechSynthesisEvent.prototype.elapsedTime; /** @type {string} */ SpeechSynthesisEvent.prototype.name; /** @type {!SpeechSynthesisUtterance} */ SpeechSynthesisEvent.prototype.utterance; /** * @record * @extends {SpeechSynthesisEventInit} */ function SpeechSynthesisErrorEventInit() {} /** @type {string} */ SpeechSynthesisErrorEventInit.prototype.error; /** * @constructor * @extends {SpeechSynthesisEvent} * @param {string} type * @param {!SpeechSynthesisErrorEventInit=} eventInitDict */ function SpeechSynthesisErrorEvent(type, eventInitDict) {} /** @type {string} */ SpeechSynthesisErrorEvent.prototype.error;