212
213
function snapshot<T>(event: Event<T>, disposable: DisposableStore | undefined): Event<T> {
214
>
let listener: IDisposable | undefined;
event.ts
215
>
216
>
const options: EmitterOptions | undefined = {
217
>
onWillAddFirstListener() {
218
listener = event(emitter.fire, emitter);
219
},
220
>
onDidRemoveLastListener() {
event.ts
221
listener?.dispose();
222
}
224
>
225
>
if (!disposable) {
226
_addLeakageTraceLogic(options);
227
}
229
>
const emitter = new Emitter<T>(options);
230
>
231
>
disposable?.add(emitter);
232
>
233
>
return emitter.event;
234
>
}
235
236
/**