MCPcopy Create free account
hub / github.com/deepnote/vscode-deepnote / dispose

Function dispose

src/platform/common/utils/lifecycle.ts:40–57  ·  view source on GitHub ↗
(arg: T | Iterable<T> | undefined)

Source from the content-addressed store, hash-verified

38export function dispose<T extends IDisposable>(disposables: ReadonlyArray<T>): ReadonlyArray<T>;
39// eslint-disable-next-line @typescript-eslint/no-explicit-any
40export function dispose<T extends IDisposable>(arg: T | Iterable<T> | undefined): any {
41 if (Iterable.is(arg)) {
42 for (const d of arg) {
43 if (d) {
44 try {
45 d.dispose();
46 } catch (e) {
47 console.warn(`dispose() failed for ${d}`, e);
48 }
49 }
50 }
51
52 return Array.isArray(arg) ? [] : arg;
53 } else if (arg) {
54 arg.dispose();
55 return arg;
56 }
57}
58
59/**
60 * Combine multiple disposable values into a single {@link IDisposable}.

Calls 4

isMethod · 0.80
disposeMethod · 0.65
warnMethod · 0.65
fireMethod · 0.45

Tested by 1

waitForOutputFunction · 0.72