Skip to content

Commit 9cadfe6

Browse files
vzaidmanmeta-codesync[bot]
authored andcommitted
add meaningful error reported from functions (facebook#54230)
Summary: Pull Request resolved: facebook#54230 Changelog: [General][Added] add meaningful error reporting when `AccessibilityInfo`'s methods are not available. Reviewed By: javache Differential Revision: D85162912 fbshipit-source-id: 3a233cfa54cefd3463e59d125053d4ffdd32be9b
1 parent a729160 commit 9cadfe6

File tree

1 file changed

+43
-15
lines changed

1 file changed

+43
-15
lines changed

packages/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js

Lines changed: 43 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ const AccessibilityInfo = {
9999
reject,
100100
);
101101
} else {
102-
reject(null);
102+
reject(new Error('NativeAccessibilityManagerIOS is not available'));
103103
}
104104
});
105105
}
@@ -119,7 +119,11 @@ const AccessibilityInfo = {
119119
if (NativeAccessibilityInfoAndroid?.isGrayscaleEnabled != null) {
120120
NativeAccessibilityInfoAndroid.isGrayscaleEnabled(resolve);
121121
} else {
122-
reject(null);
122+
reject(
123+
new Error(
124+
'NativeAccessibilityInfoAndroid.isGrayscaleEnabled is not available',
125+
),
126+
);
123127
}
124128
});
125129
} else {
@@ -130,7 +134,7 @@ const AccessibilityInfo = {
130134
reject,
131135
);
132136
} else {
133-
reject(null);
137+
reject(new Error('AccessibilityInfo native module is not available'));
134138
}
135139
});
136140
}
@@ -150,7 +154,11 @@ const AccessibilityInfo = {
150154
if (NativeAccessibilityInfoAndroid?.isInvertColorsEnabled != null) {
151155
NativeAccessibilityInfoAndroid.isInvertColorsEnabled(resolve);
152156
} else {
153-
reject(null);
157+
reject(
158+
new Error(
159+
'NativeAccessibilityInfoAndroid.isInvertColorsEnabled is not available',
160+
),
161+
);
154162
}
155163
});
156164
} else {
@@ -161,7 +169,7 @@ const AccessibilityInfo = {
161169
reject,
162170
);
163171
} else {
164-
reject(null);
172+
reject(new Error('AccessibilityInfo native module is not available'));
165173
}
166174
});
167175
}
@@ -181,7 +189,7 @@ const AccessibilityInfo = {
181189
if (NativeAccessibilityInfoAndroid != null) {
182190
NativeAccessibilityInfoAndroid.isReduceMotionEnabled(resolve);
183191
} else {
184-
reject(null);
192+
reject(new Error('AccessibilityInfo native module is not available'));
185193
}
186194
} else {
187195
if (NativeAccessibilityManagerIOS != null) {
@@ -190,7 +198,7 @@ const AccessibilityInfo = {
190198
reject,
191199
);
192200
} else {
193-
reject(null);
201+
reject(new Error('NativeAccessibilityManagerIOS is not available'));
194202
}
195203
}
196204
});
@@ -208,7 +216,11 @@ const AccessibilityInfo = {
208216
if (NativeAccessibilityInfoAndroid?.isHighTextContrastEnabled != null) {
209217
NativeAccessibilityInfoAndroid.isHighTextContrastEnabled(resolve);
210218
} else {
211-
reject(null);
219+
reject(
220+
new Error(
221+
'NativeAccessibilityInfoAndroid.isHighTextContrastEnabled is not available',
222+
),
223+
);
212224
}
213225
} else {
214226
return Promise.resolve(false);
@@ -236,7 +248,11 @@ const AccessibilityInfo = {
236248
reject,
237249
);
238250
} else {
239-
reject(null);
251+
reject(
252+
new Error(
253+
'NativeAccessibilityManagerIOS.getCurrentDarkerSystemColorsState is not available',
254+
),
255+
);
240256
}
241257
}
242258
});
@@ -264,7 +280,11 @@ const AccessibilityInfo = {
264280
reject,
265281
);
266282
} else {
267-
reject(null);
283+
reject(
284+
new Error(
285+
'NativeAccessibilityManagerIOS.getCurrentPrefersCrossFadeTransitionsState is not available',
286+
),
287+
);
268288
}
269289
}
270290
});
@@ -289,7 +309,7 @@ const AccessibilityInfo = {
289309
reject,
290310
);
291311
} else {
292-
reject(null);
312+
reject(new Error('NativeAccessibilityManagerIOS is not available'));
293313
}
294314
});
295315
}
@@ -309,7 +329,7 @@ const AccessibilityInfo = {
309329
if (NativeAccessibilityInfoAndroid != null) {
310330
NativeAccessibilityInfoAndroid.isTouchExplorationEnabled(resolve);
311331
} else {
312-
reject(null);
332+
reject(new Error('NativeAccessibilityInfoAndroid is not available'));
313333
}
314334
} else {
315335
if (NativeAccessibilityManagerIOS != null) {
@@ -318,7 +338,7 @@ const AccessibilityInfo = {
318338
reject,
319339
);
320340
} else {
321-
reject(null);
341+
reject(new Error('NativeAccessibilityManagerIOS is not available'));
322342
}
323343
}
324344
});
@@ -343,10 +363,18 @@ const AccessibilityInfo = {
343363
) {
344364
NativeAccessibilityInfoAndroid.isAccessibilityServiceEnabled(resolve);
345365
} else {
346-
reject(null);
366+
reject(
367+
new Error(
368+
'NativeAccessibilityInfoAndroid.isAccessibilityServiceEnabled is not available',
369+
),
370+
);
347371
}
348372
} else {
349-
reject(null);
373+
reject(
374+
new Error(
375+
'isAccessibilityServiceEnabled is only available on Android',
376+
),
377+
);
350378
}
351379
});
352380
},

0 commit comments

Comments
 (0)