INNER CODE UNIT · TypeScript
items
isographlabs/isograph · libs/isograph-disposable-types/src/index.ts:12
const items = pairs.map(([item]) => item) as ItemsOf<T>;
const dispose: CleanupFn = () => {
let error: unknown;
pairs.reduceRight((_, [, cleanup]) => {
try {
cleanup();
} catch (e) {
error ??= e;
}
return undefined;
}, undefined);
if (error !== undefined) {
throw error;
}
};
return [items, dispose];
}