248
*/
249
export function electronPermissionToCategories(permission: string, mediaKinds?: ReadonlyArray<'video' | 'audio'>): PermissionCategory[] {
251
>
return resolveMediaCategories(mediaKinds);
252
>
}
253
>
return PERMISSION_TO_CATEGORIES.get(permission) ?? [];
254
>
}
255
256
>
function resolveMediaCategories(mediaKinds?: ReadonlyArray<'video' | 'audio'>): PermissionCategory[] {
browserPermissions.ts
257
>
const categories = new Set<PermissionCategory>();
258
>
for (const kind of mediaKinds ?? []) {
259
>
categories.add(kind === 'video' ? PermissionCategory.Camera : PermissionCategory.Microphone);
260
>
}
261
>
// No usable hint: assume both so callers apply the strictest decision.
262
>
if (categories.size === 0) {
263
>
return [PermissionCategory.Camera, PermissionCategory.Microphone];
264
>
}
265
>
return [...categories];
266
>
}
267
268
/**