UNPKG

@react-native-documents/picker

Version:

A react native interface to access documents from dropbox, google drive, iCloud...

27 lines (23 loc) 718 B
import type { DocumentPickerResponse } from './types' export const safeValidate = ( requestedTypes: string[], singlePickResult: Pick<DocumentPickerResponse, 'nativeType'>, ) => { const { nativeType } = singlePickResult return requestedTypes.some((it) => nativeTypeMatches(it, nativeType)) } const nativeTypeMatches = (requiredType: string, actualType: string | null) => { if (requiredType === actualType || requiredType === '*/*') { return true } if (actualType === null) { return false } if (requiredType.endsWith('/*')) { const requiredTypeWithoutStar = requiredType.slice(0, -2) if (actualType.startsWith(requiredTypeWithoutStar)) { return true } } return false }