Creates a new strong reference to an object.
The object to wrap.
A function to call when the last reference is disposed.
A new reference-counted object.
const resource = Rc(connection, conn => conn.close());resource.query("SELECT count(*) FROM users"); Copy
const resource = Rc(connection, conn => conn.close());resource.query("SELECT count(*) FROM users");
Clones a reference-counted object.
The reference-counted object to clone.
A new reference-counted object that is a clone of the original.
const resource = Rc(connection, conn => conn.close());const ref2 = Rc.clone(resource);ref2.query("SELECT count(*) FROM users"); Copy
const resource = Rc(connection, conn => conn.close());const ref2 = Rc.clone(resource);ref2.query("SELECT count(*) FROM users");
Disposes a reference-counted object.
The reference-counted object to dispose.
const resource = Rc(connection, conn => conn.close());Rc.dispose(resource); Copy
const resource = Rc(connection, conn => conn.close());Rc.dispose(resource);
Inspects a reference-counted object or weak reference.
The reference-counted object or weak reference to inspect.
Information about the reference-counted object or weak reference.
const resource = Rc(connection, conn => conn.close());const info = Rc.inspect(resource); Copy
const resource = Rc(connection, conn => conn.close());const info = Rc.inspect(resource);
Creates a weak reference to a reference-counted object, disposing of the original reference in the process.
The reference-counted object to create a weak reference to.
A weak reference to the reference-counted object.
const resource = Rc(connection, conn => conn.close());const weak = Rc.intoWeak(resource); Copy
const resource = Rc(connection, conn => conn.close());const weak = Rc.intoWeak(resource);
Attempts to upgrade a weak reference to a strong reference.
The weak reference to upgrade.
A strong reference to the reference-counted object, or None if the underlying object has been disposed.
None
const resource = Rc(connection, conn => conn.close());const weak = Rc.weak(resource);const strong = Rc.upgrade(weak); // Returns Some(Rc<T>)strong.unwrap().query("SELECT count(*) FROM users");Rc.dispose(strong);Rc.dispose(resource);Rc.upgrade(weak); // Returns None Copy
const resource = Rc(connection, conn => conn.close());const weak = Rc.weak(resource);const strong = Rc.upgrade(weak); // Returns Some(Rc<T>)strong.unwrap().query("SELECT count(*) FROM users");Rc.dispose(strong);Rc.dispose(resource);Rc.upgrade(weak); // Returns None
Creates a weak reference to a reference-counted object.
const resource = Rc(connection, conn => conn.close());const weak = Rc.weak(resource); Copy
const resource = Rc(connection, conn => conn.close());const weak = Rc.weak(resource);
Creates a new strong reference to an object.