Skip to main content

@boost/decorators

Build Status npm version npm deps

Experimental decorators for common patterns.

import { Bind, Memoize } from '@boost/decorators';

class Example {
    @Bind()
    referencedMethod() {
        return this; // Class instance
    }

    @Memoize()
    someExpensiveOperation() {
        // Do something heavy
    }
}

Features

  • @Bind - Autobind a method's this to the class context.
  • @Debounce - Defer the execution of a method in milliseconds.
  • @Deprecate - Mark a property, method, or class as deprecated.
  • @Memoize - Cache and return the result of a method execution.
  • @Throttle - Throttle the execution of a method to a timeframe in milliseconds.

Installation

yarn add @boost/decorators

Documentation

Index

Type aliases

MemoizeCache

MemoizeCache<T>: Map<string, { time?: number | null; value: T }>

Type parameters

  • T

MemoizeHasher

MemoizeHasher: (...args: unknown[]) => string

MemoizedFunction

MemoizedFunction<T>: (...args: unknown[]) => T

Type parameters

  • T