107
}
108
109
const value: any = asyncInfo.awaited.value;
110
- const isErrored =
111
- value !== null &&
112
- typeof value === 'object' &&
113
- value[meta.name] === 'rejected Thenable';
114
-
110
+ const metaName =
111
+ value !== null && typeof value === 'object' ? value[meta.name] : null;
112
+ const isFulfilled = metaName === 'fulfilled Thenable';
113
+ const isRejected = metaName === 'rejected Thenable';
114
return (
115
<div className={styles.CollapsableRow}>
116
<Button
135
<div className={styles.TimeBarContainer}>
136
<div
137
className={
139
- !isErrored ? styles.TimeBarSpan : styles.TimeBarSpanErrored
138
+ !isRejected ? styles.TimeBarSpan : styles.TimeBarSpanErrored
139
}
140
style={{
141
left: left.toFixed(2) + '%',
146
</Button>
147
{isOpen && (
148
<div className={styles.CollapsableContent}>
149
+ {stack !== null && stack.length > 0 && (
150
+ <StackTraceView stack={stack} />
151
+ )}
152
+ {owner !== null && owner.id !== inspectedElement.id ? (
153
+ <OwnerView
154
+ key={owner.id}
155
+ displayName={owner.displayName || 'Anonymous'}
156
+ hocDisplayNames={owner.hocDisplayNames}
157
+ compiledWithForget={owner.compiledWithForget}
158
+ id={owner.id}
159
+ isInStore={store.containsElement(owner.id)}
160
+ type={owner.type}
161
+ />
162
+ ) : null}
163
<div className={styles.PreviewContainer}>
164
<KeyValue
165
alphaSort={true}
171
element={element}
172
hidden={false}
173
inspectedElement={inspectedElement}
161
- name={'Promise'}
162
- path={[index, 'awaited', 'value']}
174
+ name={
175
+ isFulfilled
176
+ ? 'awaited value'
177
+ : isRejected
178
+ ? 'rejected with'
179
+ : 'pending value'
180
+ }
181
+ path={
182
+ isFulfilled
183
+ ? [index, 'awaited', 'value', 'value']
184
+ : isRejected
185
+ ? [index, 'awaited', 'value', 'reason']
186
+ : [index, 'awaited', 'value']
187
+ }
188
pathRoot="suspendedBy"
189
store={store}
165
- value={asyncInfo.awaited.value}
190
+ value={
191
+ isFulfilled ? value.value : isRejected ? value.reason : value
192
+ }
193
/>
194
</div>
168
- {stack !== null && stack.length > 0 && (
169
- <StackTraceView stack={stack} />
170
- )}
171
- {owner !== null && owner.id !== inspectedElement.id ? (
172
- <OwnerView
173
- key={owner.id}
174
- displayName={owner.displayName || 'Anonymous'}
175
- hocDisplayNames={owner.hocDisplayNames}
176
- compiledWithForget={owner.compiledWithForget}
177
- id={owner.id}
178
- isInStore={store.containsElement(owner.id)}
179
- type={owner.type}
180
- />
181
- ) : null}
195
</div>
196
)}
197
</div>