35 lines
904 B
JavaScript
Executable File
35 lines
904 B
JavaScript
Executable File
/**
|
|
* @license
|
|
* Copyright The Closure Library Authors.
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @fileoverview The disposeAll method is used to clean up references and
|
|
* resources.
|
|
*/
|
|
|
|
goog.module('goog.disposeAll');
|
|
goog.module.declareLegacyNamespace();
|
|
|
|
const dispose = goog.require('goog.dispose');
|
|
|
|
/**
|
|
* Calls `dispose` on each member of the list that supports it. (If the
|
|
* member is an ArrayLike, then `goog.disposeAll()` will be called
|
|
* recursively on each of its members.) If the member is not an object with a
|
|
* `dispose()` method, then it is ignored.
|
|
* @param {...*} var_args The list.
|
|
*/
|
|
function disposeAll(var_args) {
|
|
for (let i = 0, len = arguments.length; i < len; ++i) {
|
|
const disposable = arguments[i];
|
|
if (goog.isArrayLike(disposable)) {
|
|
disposeAll.apply(null, disposable);
|
|
} else {
|
|
dispose(disposable);
|
|
}
|
|
}
|
|
}
|
|
exports = disposeAll;
|