@tsdotnet/lazy - v1.1.0
    Preparing search index...

    Class Lazy<T>

    The ResolverBase class handles resolving a factory method and detects recursion. Since JS does not have a synchronization mechanism (lock or otherwise) we have to prevent getValue from double triggering the value factory (optimistic concurrency) or returning return a value that is intermediate between resolving and resolved.

    Type Parameters

    • T

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _resolveState: {
        created: null | boolean;
        error?: unknown;
        factory?: Func<T>;
        value?: T;
    }

    Accessors

    • get canReset(): boolean

      Will return true if allowReset is true and a value factory still exists.

      Returns boolean

    • get error(): any

      The error value if previous faulted.

      Returns any

    • get isFaulted(): boolean

      True if the resolution faulted.

      Returns boolean

    • get isValueCreated(): boolean

      Returns true if the value has been created.

      Returns boolean

    • get value(): T

      Returns the resolved value.

      Returns T

    • get valueReference(): undefined | T

      Gets the value regardless if resolved or not. Does not trigger the value factory.

      Returns undefined | T

    Methods

    • Is called when this object is disposed. Should NOT be called directly. Override this method to handle disposal.

      Returns void

    • Compares the values of two Lazy for equality.

      Parameters

      Returns boolean

    • Creates a Lazy by inferring T.

      Type Parameters

      • T

      Parameters

      • valueFactory: () => T
      • allowReset: boolean = false

      Returns Lazy<T>