0.1.1 • Published 5 years ago

@overlook/util-memoize v0.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

NPM version Build Status Dependency Status Dev dependency Status Greenkeeper badge Coverage Status

Overlook framework memoize utility function

Usage

Memoize a class extension function.

This prevents multiple subclasses being created, where extend() is called multiple times to extend the same class.

// Define Route class extension
const memoize = require('@overlook/util-memoize');

const extend = memoize(function(Route) {
  return class MyExtendedRouteClass extends Route {
    /* ... */
  };
});

// Use it
const {Route} = require('@overlook/framework');
const RouteSubclass = extend(Route);
const RouteSubclass2 = extend(Route);
// RouteSubclass2 === RouteSubclass

Tests

Use npm test to run the tests. Use npm run cover to check coverage.

Changelog

See changelog.md

Issues

If you discover a bug, please raise an issue on Github. https://github.com/overlookjs/util-memoize/issues

Contribution

Pull requests are very welcome. Please:

  • ensure all tests pass before submitting PR
  • add tests for new features
  • document new functionality/API additions in README
  • do not add an entry to Changelog (Changelog is created when cutting releases)