UNPKG

resolve-once-map-cb

Version:

Resolves a callback only once and memoizes the result in a map

33 lines 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return resolveOnceMap; } }); var _resolveoncecb = /*#__PURE__*/ _interop_require_default(require("resolve-once-cb")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function resolveOnceMap(fn) { var resolvers = {}; return function(key, callback) { if (typeof callback !== 'function') throw new Error('resolve-once-map-cb missing callback'); if (!resolvers[key]) { resolvers[key] = (0, _resolveoncecb.default)(function(cb) { try { return fn(key, cb); } catch (err) { return cb(err); } }); } return resolvers[key](callback); }; } /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }