@binarymuse/ts-stdlib
    Preparing search index...

    Function Rc

    • Creates a new strong reference to an object.

      Type Parameters

      • T extends object

      Parameters

      • object: T

        The object to wrap.

      • dispose: (data: T) => void

        A function to call when the last reference is disposed.

      Returns Rc<T>

      A new reference-counted object.

      const resource = Rc(connection, conn => conn.close());
      resource.query("SELECT count(*) FROM users");
    Index

    Static Methods

    • Clones a reference-counted object.

      Type Parameters

      • T

      Parameters

      • rc: Rc<T>

        The reference-counted object to clone.

      Returns Rc<T>

      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");
    • Disposes a reference-counted object.

      Type Parameters

      • T

      Parameters

      • rc: Rc<T> | Weak<T>

        The reference-counted object to dispose.

      Returns void

      const resource = Rc(connection, conn => conn.close());
      Rc.dispose(resource);
    • Inspects a reference-counted object or weak reference.

      Type Parameters

      • T

      Parameters

      • rc: Rc<T> | Weak<T>

        The reference-counted object or weak reference to inspect.

      Returns RcInfo

      Information about the reference-counted object or weak reference.

      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.

      Type Parameters

      • T

      Parameters

      • rc: Rc<T>

        The reference-counted object to create a weak reference to.

      Returns Weak<T>

      A weak reference to the reference-counted object.

      const resource = Rc(connection, conn => conn.close());
      const weak = Rc.intoWeak(resource);
    • Attempts to upgrade a weak reference to a strong reference.

      Type Parameters

      • T

      Parameters

      • weak: Weak<T>

        The weak reference to upgrade.

      Returns Option<Rc<T>>

      A strong reference to the reference-counted object, or None if the underlying object has been disposed.

      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.

      Type Parameters

      • T

      Parameters

      • rc: Rc<T>

        The reference-counted object to create a weak reference to.

      Returns Weak<T>

      A weak reference to the reference-counted object.

      const resource = Rc(connection, conn => conn.close());
      const weak = Rc.weak(resource);