own<T> method
Registers resource for deterministic cleanup and returns it.
Implementation
@override
T own<T>(T resource) {
if (_resourceClosing || _resourceDisposed) {
throw StateError(
'${runtimeType.toString()} cannot own resources after closing.',
);
}
if (resource == null) return resource;
final object = resource as Object;
final alreadyOwned =
_ownedResources.any((candidate) => identical(candidate, object));
if (!alreadyOwned) {
_ownedResources.add(object);
}
if (object is LxReactive && object.ownerId == null) {
object.ownerId = resourceOwnerPath;
}
return resource;
}