typescript-closure-tools
Version:
Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files
174 lines (147 loc) • 6.45 kB
TypeScript
/// <reference path="../../../globals.d.ts" />
/// <reference path="../events/eventtarget.d.ts" />
/// <reference path="./abstractmoduleloader.d.ts" />
/// <reference path="../log/log.d.ts" />
/// <reference path="./moduleinfo.d.ts" />
/// <reference path="../events/event.d.ts" />
declare module goog.module {
class ModuleLoader extends ModuleLoader__Class { }
/** Fake class which should be extended to avoid inheriting static properties */
class ModuleLoader__Class extends goog.events.EventTarget__Class implements goog.module.AbstractModuleLoader {
/**
* A class that loads Javascript modules.
* @constructor
* @extends {goog.events.EventTarget}
* @implements {goog.module.AbstractModuleLoader}
*/
constructor();
/**
* A logger.
* @type {goog.log.Logger}
* @protected
*/
logger: goog.log.Logger;
/**
* Gets the debug mode for the loader.
* @return {boolean} Whether the debug mode is enabled.
*/
getDebugMode(): boolean;
/**
* Sets the debug mode for the loader.
* @param {boolean} debugMode Whether the debug mode is enabled.
*/
setDebugMode(debugMode: boolean): void;
/**
* When enabled, we will add a sourceURL comment to the end of all scripts
* to mark their origin.
*
* On WebKit, stack traces will refect the sourceURL comment, so this is
* useful for debugging webkit stack traces in production.
*
* Notice that in debug mode, we will use source url injection + eval rather
* then appending script nodes to the DOM, because the scripts will load far
* faster. (Appending script nodes is very slow, because we can't parallelize
* the downloading and evaling of the script).
*
* The cost of appending sourceURL information is negligible when compared to
* the cost of evaling the script. Almost all clients will want this on.
*
* TODO(nicksantos): Turn this on by default. We may want to turn this off
* for clients that inject their own sourceURL.
*
* @param {boolean} enabled Whether source url injection is enabled.
*/
setSourceUrlInjection(enabled: boolean): void;
/**
* Loads a list of JavaScript modules.
*
* @param {Array.<string>} ids The module ids in dependency order.
* @param {Object} moduleInfoMap A mapping from module id to ModuleInfo object.
* @param {function()?=} opt_successFn The callback if module loading is a
* success.
* @param {function(?number)?=} opt_errorFn The callback if module loading is an
* error.
* @param {function()?=} opt_timeoutFn The callback if module loading times out.
* @param {boolean=} opt_forceReload Whether to bypass cache while loading the
* module.
*/
loadModules(ids: string[], moduleInfoMap: Object, opt_successFn?: { (): any /*missing*/ }, opt_errorFn?: { (_0: number): any /*missing*/ }, opt_timeoutFn?: { (): any /*missing*/ }, opt_forceReload?: boolean): void;
/**
* Pre-fetches a JavaScript module.
*
* @param {string} id The module id.
* @param {!goog.module.ModuleInfo} moduleInfo The module info.
*/
prefetchModule(id: string, moduleInfo: goog.module.ModuleInfo): void;
}
}
declare module goog.module.ModuleLoader {
class Event extends Event__Class { }
/** Fake class which should be extended to avoid inheriting static properties */
class Event__Class extends goog.events.Event__Class {
/**
* @param {goog.module.ModuleLoader.EventType} type The type.
* @param {Array.<string>} moduleIds The ids of the modules being evaluated.
* @constructor
* @extends {goog.events.Event}
* @final
*/
constructor(type: goog.module.ModuleLoader.EventType, moduleIds: string[]);
/**
* @type {Array.<string>}
*/
moduleIds: string[];
}
class LoadStatus extends LoadStatus__Class { }
/** Fake class which should be extended to avoid inheriting static properties */
class LoadStatus__Class {
/**
* A class that keeps the state of the module during the loading process. It is
* used to save loading information between modules download and evaluation.
* @constructor
* @final
*/
constructor();
/**
* The request uris.
* @type {Array.<string>}
*/
requestUris: string[];
/**
* The response texts.
* @type {Array.<string>}
*/
responseTexts: string[];
/**
* Whether loadModules was called for the set of modules referred by this
* status.
* @type {boolean}
*/
loadRequested: boolean;
/**
* Success callback.
* @type {?function()}
*/
successFn: { (): any /*missing*/ };
/**
* Error callback.
* @type {?function(?number)}
*/
errorFn: { (_0: number): any /*missing*/ };
}
/**
* @return {boolean} Whether sourceURL affects stack traces.
* Chrome is currently the only browser that does this, but
* we believe other browsers are working on this.
* @see http://bugzilla.mozilla.org/show_bug.cgi?id=583083
*/
function supportsSourceUrlStackTraces(): boolean;
/**
* @return {boolean} Whether sourceURL affects the debugger.
*/
function supportsSourceUrlDebugger(): boolean;
/**
* @enum {string}
*/
enum EventType { EVALUATE_CODE, REQUEST_SUCCESS, REQUEST_ERROR }
}