/** * @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;