Skip to content

Commit 50ce31e

Browse files
vzaidmanfacebook-github-bot
authored andcommitted
add meaningful error reported from functions (#54230)
Summary: Changelog: [General][Changed] add meaningful error reporting when `AccessibilityInfo`'s methods are not available. Reviewed By: javache Differential Revision: D85162912
1 parent 93c17cd commit 50ce31e

File tree

1 file changed

+47
-15
lines changed

1 file changed

+47
-15
lines changed

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

Lines changed: 47 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,11 @@ const AccessibilityInfo = {
130134
reject,
131135
);
132136
} else {
133-
reject(null);
137+
reject(
138+
new Error(
139+
'AccessibilityInfo native module is not available',
140+
),
141+
);
134142
}
135143
});
136144
}
@@ -150,7 +158,11 @@ const AccessibilityInfo = {
150158
if (NativeAccessibilityInfoAndroid?.isInvertColorsEnabled != null) {
151159
NativeAccessibilityInfoAndroid.isInvertColorsEnabled(resolve);
152160
} else {
153-
reject(null);
161+
reject(
162+
new Error(
163+
'NativeAccessibilityInfoAndroid.isInvertColorsEnabled is not available',
164+
),
165+
);
154166
}
155167
});
156168
} else {
@@ -161,7 +173,7 @@ const AccessibilityInfo = {
161173
reject,
162174
);
163175
} else {
164-
reject(null);
176+
reject(new Error('AccessibilityInfo native module is not available'));
165177
}
166178
});
167179
}
@@ -181,7 +193,7 @@ const AccessibilityInfo = {
181193
if (NativeAccessibilityInfoAndroid != null) {
182194
NativeAccessibilityInfoAndroid.isReduceMotionEnabled(resolve);
183195
} else {
184-
reject(null);
196+
reject(new Error('AccessibilityInfo native module is not available'));
185197
}
186198
} else {
187199
if (NativeAccessibilityManagerIOS != null) {
@@ -190,7 +202,7 @@ const AccessibilityInfo = {
190202
reject,
191203
);
192204
} else {
193-
reject(null);
205+
reject(new Error('NativeAccessibilityManagerIOS is not available'));
194206
}
195207
}
196208
});
@@ -208,7 +220,11 @@ const AccessibilityInfo = {
208220
if (NativeAccessibilityInfoAndroid?.isHighTextContrastEnabled != null) {
209221
NativeAccessibilityInfoAndroid.isHighTextContrastEnabled(resolve);
210222
} else {
211-
reject(null);
223+
reject(
224+
new Error(
225+
'NativeAccessibilityInfoAndroid.isHighTextContrastEnabled is not available',
226+
),
227+
);
212228
}
213229
} else {
214230
return Promise.resolve(false);
@@ -236,7 +252,11 @@ const AccessibilityInfo = {
236252
reject,
237253
);
238254
} else {
239-
reject(null);
255+
reject(
256+
new Error(
257+
'NativeAccessibilityManagerIOS.getCurrentDarkerSystemColorsState is not available',
258+
),
259+
);
240260
}
241261
}
242262
});
@@ -264,7 +284,11 @@ const AccessibilityInfo = {
264284
reject,
265285
);
266286
} else {
267-
reject(null);
287+
reject(
288+
new Error(
289+
'NativeAccessibilityManagerIOS.getCurrentPrefersCrossFadeTransitionsState is not available',
290+
),
291+
);
268292
}
269293
}
270294
});
@@ -289,7 +313,7 @@ const AccessibilityInfo = {
289313
reject,
290314
);
291315
} else {
292-
reject(null);
316+
reject(new Error('NativeAccessibilityManagerIOS is not available'));
293317
}
294318
});
295319
}
@@ -309,7 +333,7 @@ const AccessibilityInfo = {
309333
if (NativeAccessibilityInfoAndroid != null) {
310334
NativeAccessibilityInfoAndroid.isTouchExplorationEnabled(resolve);
311335
} else {
312-
reject(null);
336+
reject(new Error('NativeAccessibilityInfoAndroid is not available'));
313337
}
314338
} else {
315339
if (NativeAccessibilityManagerIOS != null) {
@@ -318,7 +342,7 @@ const AccessibilityInfo = {
318342
reject,
319343
);
320344
} else {
321-
reject(null);
345+
reject(new Error('NativeAccessibilityManagerIOS is not available'));
322346
}
323347
}
324348
});
@@ -343,10 +367,18 @@ const AccessibilityInfo = {
343367
) {
344368
NativeAccessibilityInfoAndroid.isAccessibilityServiceEnabled(resolve);
345369
} else {
346-
reject(null);
370+
reject(
371+
new Error(
372+
'NativeAccessibilityInfoAndroid.isAccessibilityServiceEnabled is not available',
373+
),
374+
);
347375
}
348376
} else {
349-
reject(null);
377+
reject(
378+
new Error(
379+
'isAccessibilityServiceEnabled is only available on Android',
380+
),
381+
);
350382
}
351383
});
352384
},

0 commit comments

Comments
 (0)