react-obsidian
Version:
Dependency injection framework for React and React Native applications
24 lines • 722 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class ReferenceCounter {
constructor() {
this.references = new WeakMap();
}
retain(object) {
var _a;
const count = (_a = this.references.get(object)) !== null && _a !== void 0 ? _a : 0;
this.references.set(object, count + 1);
}
release(object, onReleased) {
const count = this.references.get(object);
if (count === 1) {
onReleased(object);
this.references.delete(object);
}
else {
this.references.set(object, count - 1);
}
}
}
exports.default = new ReferenceCounter();
//# sourceMappingURL=ReferenceCounter.js.map