266
*/
267
export function registerAutorunSelfDisposable(store: DisposableStore, fn: (reader: IReaderWithDispose) => void, debugLocation = DebugLocation.ofCaller()): void {
269
>
let disposeSync = false;
270
>
271
>
// eslint-disable-next-line prefer-const
272
>
ar = autorun(reader => {
273
>
fn({
274
>
delayedStore: reader.delayedStore,
275
>
store: reader.store,
276
>
readObservable: reader.readObservable.bind(reader),
277
>
dispose: () => {
278
if (!ar) {
279
// dispose on first run, ar is not initialized yet.