1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| import Enumerator from './enumerator';
| import {
| PENDING,
| FULFILLED,
| fulfill
| } from './-internal';
|
| export default class PromiseHash extends Enumerator {
| constructor(Constructor, object, abortOnReject = true, label) {
| super(Constructor, object, abortOnReject, label);
| }
|
| _init(Constructor, object) {
| this._result = {};
| this._enumerate(object);
| }
|
| _enumerate(input) {
| let keys = Object.keys(input);
|
| let length = keys.length;
| let promise = this.promise;
| this._remaining = length;
|
| let key, val;
| for (let i = 0; promise._state === PENDING && i < length; i++) {
| key = keys[i];
| val = input[key];
| this._eachEntry(val, key, true);
| }
|
| this._checkFullfillment();
| }
| }
|
|