dipal-x-tree/node/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js
2024-06-21 19:49:13 +03:00

25 lines
723 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FinalizationRegistryBasedCleanupTracking = void 0;
class FinalizationRegistryBasedCleanupTracking {
constructor() {
this.registry = new FinalizationRegistry(unsubscribe => {
if (typeof unsubscribe === 'function') {
unsubscribe();
}
});
}
register(object, unsubscribe, unregisterToken) {
this.registry.register(object, unsubscribe, unregisterToken);
}
unregister(unregisterToken) {
this.registry.unregister(unregisterToken);
}
// eslint-disable-next-line class-methods-use-this
reset() {}
}
exports.FinalizationRegistryBasedCleanupTracking = FinalizationRegistryBasedCleanupTracking;