UNPKG

typescript-closure-tools

Version:

Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files

278 lines (244 loc) 13 kB
/// <reference path="../../../globals.d.ts" /> /// <reference path="../disposable/disposable.d.ts" /> /// <reference path="./moduleinfo.d.ts" /> /// <reference path="./abstractmoduleloader.d.ts" /> /// <reference path="../../../third_party/closure/goog/mochikit/async/deferred.d.ts" /> /// <reference path="./moduleloadcallback.d.ts" /> declare module goog.module { class ModuleManager extends ModuleManager__Class { } /** Fake class which should be extended to avoid inheriting static properties */ class ModuleManager__Class extends goog.Disposable__Class { /** * The ModuleManager keeps track of all modules in the environment. * Since modules may not have their code loaded, we must keep track of them. * @constructor * @extends {goog.Disposable} */ constructor(); /** * Sets the batch mode as enabled or disabled for the module manager. * @param {boolean} enabled Whether the batch mode is to be enabled or not. */ setBatchModeEnabled(enabled: boolean): void; /** * Sets the concurrent loading mode as enabled or disabled for the module * manager. Requires a moduleloader implementation that supports concurrent * loads. The default {@see goog.module.ModuleLoader} does not. * @param {boolean} enabled */ setConcurrentLoadingEnabled(enabled: boolean): void; /** * Sets the module info for all modules. Should only be called once. * * @param {Object.<Array.<string>>} infoMap An object that contains a mapping * from module id (String) to list of required module ids (Array). */ setAllModuleInfo(infoMap: { [key: string]: any /*missing*/ }): void; /** * Sets the module info for all modules. Should only be called once. Also * marks modules that are currently being loaded. * * @param {string=} opt_info A string representation of the module dependency * graph, in the form: module1:dep1,dep2/module2:dep1,dep2 etc. * Where depX is the base-36 encoded position of the dep in the module list. * @param {Array.<string>=} opt_loadingModuleIds A list of moduleIds that * are currently being loaded. */ setAllModuleInfoString(opt_info?: string, opt_loadingModuleIds?: string[]): void; /** * Gets a module info object by id. * @param {string} id A module identifier. * @return {goog.module.ModuleInfo} The module info. */ getModuleInfo(id: string): goog.module.ModuleInfo; /** * Sets the module uris. * * @param {Object} moduleUriMap The map of id/uris pairs for each module. */ setModuleUris(moduleUriMap: Object): void; /** * Gets the application-specific module loader. * @return {goog.module.AbstractModuleLoader} An object that has a * loadModules(ids, moduleInfoMap, opt_successFn, opt_errFn, * opt_timeoutFn, opt_forceReload) method. */ getLoader(): goog.module.AbstractModuleLoader; /** * Sets the application-specific module loader. * @param {goog.module.AbstractModuleLoader} loader An object that has a * loadModules(ids, moduleInfoMap, opt_successFn, opt_errFn, * opt_timeoutFn, opt_forceReload) method. */ setLoader(loader: goog.module.AbstractModuleLoader): void; /** * Gets the module context to use to initialize the module. * @return {Object} The context. */ getModuleContext(): Object; /** * Sets the module context to use to initialize the module. * @param {Object} context The context. */ setModuleContext(context: Object): void; /** * Determines if the ModuleManager is active * @return {boolean} TRUE iff the ModuleManager is active (i.e., not idle). */ isActive(): boolean; /** * Determines if the ModuleManager is user active * @return {boolean} TRUE iff the ModuleManager is user active (i.e., not idle). */ isUserActive(): boolean; /** * Preloads a module after a short delay. * * @param {string} id The id of the module to preload. * @param {number=} opt_timeout The number of ms to wait before adding the * module id to the loading queue (defaults to 0 ms). Note that the module * will be loaded asynchronously regardless of the value of this parameter. * @return {!goog.async.Deferred} A deferred object. */ preloadModule(id: string, opt_timeout?: number): goog.async.Deferred<any>; /** * Prefetches a JavaScript module and its dependencies, which means that the * module will be downloaded, but not evaluated. To complete the module load, * the caller should also call load or execOnLoad after prefetching the module. * * @param {string} id The id of the module to prefetch. */ prefetchModule(id: string): void; /** * Records that a module was loaded. Also initiates loading the next module if * any module requests are queued. This method is called by code that is * generated and appended to each dynamic module's code at compilation time. * * @param {string} id A module id. */ setLoaded(id: string): void; /** * Gets whether a module is currently loading or in the queue, waiting to be * loaded. * @param {string} id A module id. * @return {boolean} TRUE iff the module is loading. */ isModuleLoading(id: string): boolean; /** * Requests that a function be called once a particular module is loaded. * Client code can use this method to safely call into modules that may not yet * be loaded. For consistency, this method always calls the function * asynchronously -- even if the module is already loaded. Initiates loading of * the module if necessary, unless opt_noLoad is true. * * @param {string} moduleId A module id. * @param {Function} fn Function to execute when the module has loaded. * @param {Object=} opt_handler Optional handler under whose scope to execute * the callback. * @param {boolean=} opt_noLoad TRUE iff not to initiate loading of the module. * @param {boolean=} opt_userInitiated TRUE iff the loading of the module was * user initiated. * @param {boolean=} opt_preferSynchronous TRUE iff the function should be * executed synchronously if the module has already been loaded. * @return {goog.module.ModuleLoadCallback} A callback wrapper that exposes * an abort and execute method. */ execOnLoad(moduleId: string, fn: Function, opt_handler?: Object, opt_noLoad?: boolean, opt_userInitiated?: boolean, opt_preferSynchronous?: boolean): goog.module.ModuleLoadCallback; /** * Loads a module, returning a goog.async.Deferred for keeping track of the * result. * * @param {string} moduleId A module id. * @param {boolean=} opt_userInitiated If the load is a result of a user action. * @return {goog.async.Deferred} A deferred object. */ load(moduleId: string, opt_userInitiated?: boolean): goog.async.Deferred<any>; /** * Loads a list of modules, returning a goog.async.Deferred for keeping track of * the result. * * @param {Array.<string>} moduleIds A list of module ids. * @param {boolean=} opt_userInitiated If the load is a result of a user action. * @return {!Object.<string, !goog.async.Deferred>} A mapping from id (String) * to deferred objects that will callback or errback when the load for that * id is finished. */ loadMultiple(moduleIds: string[], opt_userInitiated?: boolean): { [key: string]: goog.async.Deferred<any> }; /** * Method called just before a module code is loaded. * @param {string} id Identifier of the module. */ beforeLoadModuleCode(id: string): void; /** * Method called just after module code is loaded * @param {string} id Identifier of the module. */ afterLoadModuleCode(id: string): void; /** * Register an initialization callback for the currently loading module. This * should only be called by script that is executed during the evaluation of * a module's javascript. This is almost equivalent to calling the function * inline, but ensures that all the code from the currently loading module * has been loaded. This makes it cleaner and more robust than calling the * function inline. * * If this function is called from the base module (the one that contains * the module manager code), the callback is held until #setAllModuleInfo * is called, or until #setModuleContext is called, whichever happens first. * * @param {Function} fn A callback function that takes a single argument * which is the module context. * @param {Object=} opt_handler Optional handler under whose scope to execute * the callback. */ registerInitializationCallback(fn: Function, opt_handler?: Object): void; /** * Register a late initialization callback for the currently loading module. * Callbacks registered via this function are executed similar to * {@see registerInitializationCallback}, but they are fired after all * initialization callbacks are called. * * @param {Function} fn A callback function that takes a single argument * which is the module context. * @param {Object=} opt_handler Optional handler under whose scope to execute * the callback. */ registerLateInitializationCallback(fn: Function, opt_handler?: Object): void; /** * Sets the constructor to use for the module object for the currently * loading module. The constructor should derive from {@see * goog.module.BaseModule}. * @param {Function} fn The constructor function. */ setModuleConstructor(fn: Function): void; /** * The function to call if the module manager is in error. * @param {goog.module.ModuleManager.CallbackType|Array.<goog.module.ModuleManager.CallbackType>} types * The callback type. * @param {Function} fn The function to register as a callback. */ registerCallback(types: goog.module.ModuleManager.CallbackType|goog.module.ModuleManager.CallbackType[], fn: Function): void; } } declare module goog.module.ModuleManager { /** * The type of callbacks that can be registered with the module manager,. * @enum {string} */ enum CallbackType { ERROR, IDLE, ACTIVE, USER_IDLE, USER_ACTIVE } /** * A non-HTTP status code indicating a corruption in loaded module. * This should be used by a ModuleLoader as a replacement for the HTTP code * given to the error handler function to indicated that the module was * corrupted. * This will set the forceReload flag on the loadModules method when retrying * module loading. * @type {number} */ var CORRUPT_RESPONSE_STATUS_CODE: number; /** * The possible reasons for a module load failure callback being fired. * @enum {number} */ enum FailureType { UNAUTHORIZED, CONSECUTIVE_FAILURES, TIMEOUT, OLD_CODE_GONE, INIT_ERROR } }