( device: DeviceInfo, phoneRank: number, ipadRank: number, tvRank: number, fallbackRank: number, )
| 355 | } |
| 356 | |
| 357 | function appleTargetSelectionRank( |
| 358 | device: DeviceInfo, |
| 359 | phoneRank: number, |
| 360 | ipadRank: number, |
| 361 | tvRank: number, |
| 362 | fallbackRank: number, |
| 363 | ): number { |
| 364 | const targetRanks: Record<DeviceTarget, number> = { |
| 365 | mobile: isIpadDeviceName(device.name) ? ipadRank : phoneRank, |
| 366 | tv: tvRank, |
| 367 | desktop: fallbackRank, |
| 368 | }; |
| 369 | return targetRanks[device.target ?? 'mobile']; |
| 370 | } |
| 371 | |
| 372 | function isAppleDeviceCandidateSet(devices: DeviceInfo[]): boolean { |
| 373 | return devices.length > 0 && devices.every((device) => isApplePlatform(device.platform)); |
no test coverage detected