once.js 304 B

1234567891011121314
  1. 'use strict';
  2. var noop = require('./noop');
  3. module.exports = function once (fn) {
  4. var disposed;
  5. function disposable () {
  6. if (disposed) { return; }
  7. disposed = true;
  8. (fn || noop).apply(null, arguments);
  9. }
  10. disposable.discard = function () { disposed = true; };
  11. return disposable;
  12. };