UNPKG

opossum

Version:

A fail-fast circuit breaker for promises and callbacks

1 lines 96.7 kB
{"version":3,"file":"opossum.min.js","mappings":"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","sources":["webpack://circuitBreaker/webpack/universalModuleDefinition","webpack://circuitBreaker/./node_modules/events/events.js","webpack://circuitBreaker/./lib/semaphore.js","webpack://circuitBreaker/./lib/circuit.js","webpack://circuitBreaker/./lib/cache.js","webpack://circuitBreaker/./index.js","webpack://circuitBreaker/./lib/status.js","webpack://circuitBreaker/webpack/bootstrap","webpack://circuitBreaker/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"circuitBreaker\"] = factory();\n\telse\n\t\troot[\"circuitBreaker\"] = factory();\n})(self, () => {\nreturn ","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\n\nmodule.exports = exports = semaphore;\n\nfunction semaphore (count) {\n const resolvers = [];\n let counter = count;\n\n const sem = {\n take,\n release,\n test\n };\n\n Object.defineProperty(sem, 'count', {\n get: _ => counter,\n enumerable: true\n });\n\n return sem;\n\n function take (timeout) {\n if (counter > 0) {\n --counter;\n return Promise.resolve(release);\n }\n return new Promise((resolve, reject) => {\n resolvers.push(_ => {\n --counter;\n resolve(release);\n });\n if (timeout) {\n setTimeout(_ => {\n resolvers.shift();\n const err = new Error(`Timed out after ${timeout}ms`);\n err.code = 'ETIMEDOUT';\n reject(err);\n }, timeout);\n }\n });\n }\n\n function release () {\n counter++;\n if (resolvers.length > 0) {\n resolvers.shift()();\n }\n }\n\n function test () {\n if (counter < 1) return false;\n return take() && true;\n }\n}\n","'use strict';\n\nconst EventEmitter = require('events');\nconst Status = require('./status');\nconst Semaphore = require('./semaphore');\nconst MemoryCache = require('./cache');\n\nconst STATE = Symbol('state');\nconst OPEN = Symbol('open');\nconst CLOSED = Symbol('closed');\nconst HALF_OPEN = Symbol('half-open');\nconst PENDING_CLOSE = Symbol('pending-close');\nconst SHUTDOWN = Symbol('shutdown');\nconst FALLBACK_FUNCTION = Symbol('fallback');\nconst STATUS = Symbol('status');\nconst NAME = Symbol('name');\nconst GROUP = Symbol('group');\nconst ENABLED = Symbol('Enabled');\nconst WARMING_UP = Symbol('warming-up');\nconst VOLUME_THRESHOLD = Symbol('volume-threshold');\nconst OUR_ERROR = Symbol('our-error');\nconst RESET_TIMEOUT = Symbol('reset-timeout');\nconst WARMUP_TIMEOUT = Symbol('warmup-timeout');\nconst LAST_TIMER_AT = Symbol('last-timer-at');\nconst deprecation = `options.maxFailures is deprecated. \\\nPlease use options.errorThresholdPercentage`;\n\n/**\n * Constructs a {@link CircuitBreaker}.\n *\n * @class CircuitBreaker\n * @extends EventEmitter\n * @param {Function} action The action to fire for this {@link CircuitBreaker}\n * @param {Object} options Options for the {@link CircuitBreaker}\n * @param {Status} options.status A {@link Status} object that might\n * have pre-prime stats\n * @param {Number} options.timeout The time in milliseconds that action should\n * be allowed to execute before timing out. Timeout can be disabled by setting\n * this to `false`. Default 10000 (10 seconds)\n * @param {Number} options.maxFailures (Deprecated) The number of times the\n * circuit can fail before opening. Default 10.\n * @param {Number} options.resetTimeout The time in milliseconds to wait before\n * setting the breaker to `halfOpen` state, and trying the action again.\n * Default: 30000 (30 seconds)\n * @param {Number} options.rollingCountTimeout Sets the duration of the\n * statistical rolling window, in milliseconds. This is how long Opossum keeps\n * metrics for the circuit breaker to use and for publishing. Default: 10000\n * @param {Number} options.rollingCountBuckets Sets the number of buckets the\n * rolling statistical window is divided into. So, if\n * options.rollingCountTimeout is 10000, and options.rollingCountBuckets is 10,\n * then the statistical window will be 1000/1 second snapshots in the\n * statistical window. Default: 10\n * @param {String} options.name the circuit name to use when reporting stats.\n * Default: the name of the function this circuit controls.\n * @param {boolean} options.rollingPercentilesEnabled This property indicates\n * whether execution latencies should be tracked and calculated as percentiles.\n * If they are disabled, all summary statistics (mean, percentiles) are\n * returned as -1. Default: true\n * @param {Number} options.capacity the number of concurrent requests allowed.\n * If the number currently executing function calls is equal to\n * options.capacity, further calls to `fire()` are rejected until at least one\n * of the current requests completes. Default: `Number.MAX_SAFE_INTEGER`.\n * @param {Number} options.errorThresholdPercentage the error percentage at\n * which to open the circuit and start short-circuiting requests to fallback.\n * Default: 50\n * @param {boolean} options.enabled whether this circuit is enabled upon\n * construction. Default: true\n * @param {boolean} options.allowWarmUp determines whether to allow failures\n * without opening the circuit during a brief warmup period (this is the\n * `rollingCountTimeout` property). Default: false\n * This can help in situations where no matter what your\n * `errorThresholdPercentage` is, if the first execution times out or fails,\n * the circuit immediately opens.\n * @param {Number} options.volumeThreshold the minimum number of requests within\n * the rolling statistical window that must exist before the circuit breaker\n * can open. This is similar to `options.allowWarmUp` in that no matter how many\n * failures there are, if the number of requests within the statistical window\n * does not exceed this threshold, the circuit will remain closed. Default: 0\n * @param {Function} options.errorFilter an optional function that will be\n * called when the circuit's function fails (returns a rejected Promise). If\n * this function returns truthy, the circuit's failPure statistics will not be\n * incremented. This is useful, for example, when you don't