Function once

  • Runs a function once, and after that returns always the same value.

    Example

    const expensiveOperation = (value: number) => value * 2;
    const onceOperation = once(expensiveOperation);

    onceOperation(2); // 4
    onceOperation(3); // 4 (cached)

    Returns

    Curried function with unary in context.

    Type Parameters

    • OnceFunction extends Unary<never, unknown>

    Parameters

    • unary: OnceFunction

      Function to run once.

    Returns ((value: UnaryInput<OnceFunction>) => UnaryOutput<OnceFunction>)

      • (value: UnaryInput<OnceFunction>): UnaryOutput<OnceFunction>
      • Parameters

        • value: UnaryInput<OnceFunction>

        Returns UnaryOutput<OnceFunction>