diff options
Diffstat (limited to 'deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/node_modules/es6-promisify/node_modules/es6-promise/lib/es6-promise/enumerator.js')
1 files changed, 64 insertions, 66 deletions
diff --git a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/node_modules/es6-promisify/node_modules/es6-promise/lib/es6-promise/enumerator.js b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/node_modules/es6-promisify/node_modules/es6-promise/lib/es6-promise/enumerator.js index b0eaa9300e..df4faca879 100644 --- a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/node_modules/es6-promisify/node_modules/es6-promise/lib/es6-promise/enumerator.js +++ b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/node_modules/es6-promisify/node_modules/es6-promise/lib/es6-promise/enumerator.js @@ -2,6 +2,7 @@ import { isArray, isMaybeThenable } from './utils'; + import { noop, reject, @@ -20,94 +21,91 @@ import originalResolve from './promise/resolve'; import originalThen from './then'; import { makePromise, PROMISE_ID } from './-internal'; -function validationError() { - return new Error('Array Methods must be provided an Array'); -}; +export default Enumerator; +function Enumerator(Constructor, input) { + this._instanceConstructor = Constructor; + this.promise = new Constructor(noop); -export default class Enumerator { - constructor(Constructor, input) { - this._instanceConstructor = Constructor; - this.promise = new Constructor(noop); - - if (!this.promise[PROMISE_ID]) { - makePromise(this.promise); - } + if (!this.promise[PROMISE_ID]) { + makePromise(this.promise); + } - if (isArray(input)) { - this.length = input.length; - this._remaining = input.length; + if (isArray(input)) { + this.length = input.length; + this._remaining = input.length; - this._result = new Array(this.length); + this._result = new Array(this.length); - if (this.length === 0) { + if (this.length === 0) { + fulfill(this.promise, this._result); + } else { + this.length = this.length || 0; + this._enumerate(input); + if (this._remaining === 0) { fulfill(this.promise, this._result); - } else { - this.length = this.length || 0; - this._enumerate(input); - if (this._remaining === 0) { - fulfill(this.promise, this._result); - } } - } else { - reject(this.promise, validationError()); } + } else { + reject(this.promise, validationError()); } - _enumerate(input) { - for (let i = 0; this._state === PENDING && i < input.length; i++) { - this._eachEntry(input[i], i); - } +} + +function validationError() { + return new Error('Array Methods must be provided an Array'); +}; + +Enumerator.prototype._enumerate = function(input) { + for (let i = 0; this._state === PENDING && i < input.length; i++) { + this._eachEntry(input[i], i); } +}; - _eachEntry(entry, i) { - let c = this._instanceConstructor; - let { resolve } = c; +Enumerator.prototype._eachEntry = function(entry, i) { + let c = this._instanceConstructor; + let { resolve } = c; - if (resolve === originalResolve) { - let then = getThen(entry); + if (resolve === originalResolve) { + let then = getThen(entry); - if (then === originalThen && + if (then === originalThen && entry._state !== PENDING) { - this._settledAt(entry._state, i, entry._result); - } else if (typeof then !== 'function') { - this._remaining--; - this._result[i] = entry; - } else if (c === Promise) { - let promise = new c(noop); - handleMaybeThenable(promise, entry, then); - this._willSettleAt(promise, i); - } else { - this._willSettleAt(new c(resolve => resolve(entry)), i); - } + this._settledAt(entry._state, i, entry._result); + } else if (typeof then !== 'function') { + this._remaining--; + this._result[i] = entry; + } else if (c === Promise) { + let promise = new c(noop); + handleMaybeThenable(promise, entry, then); + this._willSettleAt(promise, i); } else { - this._willSettleAt(resolve(entry), i); + this._willSettleAt(new c(resolve => resolve(entry)), i); } + } else { + this._willSettleAt(resolve(entry), i); } +}; - _settledAt(state, i, value) { - let { promise } = this; +Enumerator.prototype._settledAt = function(state, i, value) { + let { promise } = this; - if (promise._state === PENDING) { - this._remaining--; + if (promise._state === PENDING) { + this._remaining--; - if (state === REJECTED) { - reject(promise, value); - } else { - this._result[i] = value; - } + if (state === REJECTED) { + reject(promise, value); + } else { + this._result[i] = value; } + } - if (this._remaining === 0) { - fulfill(promise, this._result); - } + if (this._remaining === 0) { + fulfill(promise, this._result); } +}; - _willSettleAt(promise, i) { - let enumerator = this; +Enumerator.prototype._willSettleAt = function(promise, i) { + let enumerator = this; - subscribe( - promise, undefined, - value => enumerator._settledAt(FULFILLED, i, value), - reason => enumerator._settledAt(REJECTED, i, reason) - ); - } + subscribe(promise, undefined, value => enumerator._settledAt(FULFILLED, i, value), + reason => enumerator._settledAt(REJECTED, i, reason)); }; |