@colony/colony-js-utils

Utilities for Colony JS packages

Usage no npm install needed!

<script type="module">
  import colonyColonyJsUtils from 'https://cdn.skypack.dev/@colony/colony-js-utils';
</script>

README

colonyJS Utilities

Utilities for colonyJS packages.

Installation

yarn add @colony/colony-js-utils

Usage

import { raceAgainstTimeout } from '@colony/colony-js-utils';

class MyClass {
    async somethingVerySlow() {
        return mySlowPromise();
    }
    async doSomethingCoolAsync() {
        // Will either return the result of `somethingVerySlow()` or throw throw an error on timeout
        return raceAgainstTimeout(this.somethingVerySlow(), 30000);
    }
    async doSomethingElse() {
        // Will do something on timeout, e.g. remove an event listener
        return raceAgainstTimeout(
            this.somethingVerySlow(),
            30000,
            () => this.removeEventListener('something'),
        );
    }
}

Contributing

This package is part of the colonyJS monorepo.

Please read our contributing guidelines.