Implement comprehensive NFC chip identification using platform-specific commands and heuristics: - NTAG/Ultralight detection via GET_VERSION command - DESFire EV1/EV2/EV3 and NTAG 424 DNA detection - ISO 15693 detection with memory-based SLIX/ICODE DNA differentiation - JavaCard/JCOP detection via CPLC data - MIFARE Classic detection via SAK values Use block count as authoritative source for NXP ISO 15693 chips since IC reference values overlap between SLIX and ICODE DNA families. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
35 lines
837 B
TypeScript
35 lines
837 B
TypeScript
import type {NativeStackScreenProps} from '@react-navigation/native-stack';
|
|
import type {NfcTechType} from './nfc';
|
|
import type {Transponder} from './detection';
|
|
|
|
export type TagDataParam = {
|
|
uid: string;
|
|
techTypes: NfcTechType[];
|
|
sak?: number;
|
|
atqa?: string;
|
|
ats?: string;
|
|
historicalBytes?: string;
|
|
};
|
|
|
|
export type RootStackParamList = {
|
|
Home: undefined;
|
|
Scan: undefined;
|
|
Result: {
|
|
tagData?: TagDataParam;
|
|
transponder?: Transponder;
|
|
};
|
|
};
|
|
|
|
export type HomeScreenProps = NativeStackScreenProps<RootStackParamList, 'Home'>;
|
|
export type ScanScreenProps = NativeStackScreenProps<RootStackParamList, 'Scan'>;
|
|
export type ResultScreenProps = NativeStackScreenProps<
|
|
RootStackParamList,
|
|
'Result'
|
|
>;
|
|
|
|
declare global {
|
|
namespace ReactNavigation {
|
|
interface RootParamList extends RootStackParamList {}
|
|
}
|
|
}
|